Объединение файлов Word с Excel VBA - PullRequest
0 голосов
/ 09 июля 2020

Я разрабатываю макрос с помощью VBA. Он начинается с файла данных Excel, который заполняет определенные поля в шаблоне Word и сохраняет каждый документ под уникальным именем. Пока все хорошо.

Следующим шагом является объединение всех документов Word в «основной» документ Word, чтобы я мог сохранить его как файл PDF. Я комбинирую файлы Word с помощью Вставить> Объект> Текст из файла. Когда я попробовал его в «основном» документе Word и записал код, он сработал и объединил документы Word, как я и ожидал.

Я взял этот код и переместил его в свой макрос Excel, но я получение сообщения об ошибке. В сообщении об ошибке говорится: Ошибка времени выполнения «438»: объект не поддерживает это свойство или метод ».

Вот код, который я пытаюсь использовать для объединения документов Word в« основной » document.

Set WrdApp = CreateObject("Word.Application")
WrdApp.Visible = True
    
vTmp2 = ""
vTmp2 = FilePath1 & "MainDoc.doc"
    
Set WrdDoc = WrdApp.Documents.Open(vTmp2)
        
Y = 1
DocCnt = 2
    
ChangeFileOpenDirectory FilePath2
    
Do Until Y > X
    
        DoEvents

'      ***Error occurs on the following line:***    
        WrdDoc.InsertFile Filename:="Flyer Row " & DocCnt & ".doc", Range:="", _
            ConfirmConversions:=False, Link:=False, Attachment:=False

'       ***Following is the recorded code:***        
'       Selection.InsertFile Filename:="Flyer Row 2.doc", Range:="", _
'           ConfirmConversions:=False, Link:=False, Attachment:=False
'
'       Selection.InsertFile Filename:="Flyer Row 3.doc", Range:="", _
'           ConfirmConversions:=False, Link:=False, Attachment:=False
'
'       Selection.InsertFile Filename:="Flyer Row 4.doc", Range:="", _
'           ConfirmConversions:=False, Link:=False, Attachment:=False
    
        Selection.Delete Unit:=wdCharacter, Count:=1
    
        ActiveDocument.Save
        
        Y = Y + 1
        DocCnt = DocCnt + 1
        
Loop

Любые предложения о том, что я делаю не так с этим кодом. Я проверил переменные, и все они имеют ожидаемые значения, так что это не так. Любые предложения будут очень признательны. Спасибо за помощь

...