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
Post a Comment