VBA Excel-to-Word MailMerge: Lỗi trong lần chạy thứ hai

VBA Excel-to-Word MailMerge: Lỗi trong lần chạy thứ hai

Kính thưa tất cả,

Tôi đã tạo một hướng dẫn VBA để tự động hóa MailMerge giữa Excel và Word.

Khi tôi chạy mã VBA lần đầu tiên, nó chạy hoàn toàn tốt. Tuy nhiên, khi tôi chạy nó lần thứ hai (sau khi đóng và khởi động lại Excel và Word), có một mục nhập người dùng cần trong Word để chọn Bảng. Bất kỳ lời khuyên hoặc ý tưởng? Hướng dẫn là:

Làm mờ wd làm đối tượng
Làm mờ wdocSource dưới dạng đối tượng
Làm mờ strWorkbookName, wdInputName dưới dạng Chuỗi

wdInputName = ThisWorkbook.Path & Sjabloon

Khi gặp lỗi Tiếp tục Tiếp theo
Đặt wd = GetObject(, "Word.Application")
Nếu wd không có gì thì
Đặt wd = CreateObject("Word.Application")
kết thúc nếu
Khi Lỗi GoTo 0

Đặt wdocSource = wd.Documents.Add(wdInputName)

strWorkbookName = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name

wdocSource.MailMerge.MainDocumentType = wdFormLetters

wdocSource.MailMerge.OpenDataSource _
Tên:=strWorkbookName, _
AddToRecentFiles:=False, _
Hoàn nguyên:=Sai, _
Định dạng:=wdOpenFormatAuto, _
Kết nối:="Dữ liệu=" & strWorkbookName & ";Chế độ=Đọc", _
SQLStatement:="CHỌN * TỪ " & WorkSheetPCI

Với wdocSource.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = Đúng
Với .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
Kết thúc với
.Execute Pause:=False
Kết thúc với

wd.Visible = Đúng
wdocSource.Close SaveChanges:=False

Đặt wdocSource = Không có gì
Đặt wd = Không có gì




Trả lời:

Điều gì sẽ xảy ra nếu bạn sử dụng

wdocSource.MailMerge.OpenDataSource _
Tên:=strWorkbookName, _
AddToRecentFiles:=False, _
Hoàn nguyên:=Sai, _
Định dạng:=wdOpenFormatAuto, _
Kết nối:="Dữ liệu=" & strWorkbookName & ";Chế độ=Đọc", _
SQLStatement:="CHỌN * TỪ " & Bảng tínhPCI , _
SubType:=wdMergeSubTypeWord2000

Comments

Popular posts from this blog

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Không thể hạn chế quyền trên tệp MS excel cho mac