Открытие файла Word в Excel - PullRequest
0 голосов
/ 24 апреля 2020

Мне удалось открыть файл Word в Excel благодаря помощи некоторых из вас.

Открыть файл Word в каталоге активной рабочей книги

VBA Excel проблема с открытием файла Word

К сожалению, у меня все еще есть небольшие ошибки sh в нем. Пока мой файл слов открыт, отладчик говорит, что сценарий находится вне диапазона. Теоретически, я понимаю это, потому что мы переходим к файлу, который не обслуживается непосредственно VBA Excel, хотя возможно ли вообще избавиться от этой ошибки?

enter image description here

Мой код выглядит следующим образом:

 Sub RamsOpen3()
 Dim appWD As Word.Application
 Set appWD = New Word.Application
 Dim docWD As Word.Document
 Set docWD = appWD.Documents.Open(ActiveWorkbook.path & "\RAMS.docx.docm")
 appWD.Visible = True
 '
 ' Data is selected and copied into "Design"
 '
 'Copy all data from Design
 Sheets("Frontsheet").Select
 Range("D18").Copy
' Tell Word to create a new document

 appWD.Selection.Paste
' Save the new document with a sequential file name
 Sheets("Sheet1").Select
 appWD.ActiveDocument.SaveAs filename:=ThisWorkbook.path & "/" & "TEST" & Range("C8").Text
' Close this new word document
appWD.ActiveDocument.Close
' Close the Word application
 appWD.Quit
End Sub

1 Ответ

1 голос
/ 24 апреля 2020

Если вы используете Cut and Paste, то сначала вы должны активировать книгу.

Бонусные заметки:

  • У вас отсутствует расширение файла в saveAs line.

  • Вставляется только вверху файла, если вы хотите go до конца, вы можете добавить код

Selection.EndKey Единица: = wdStory

после активации

Sub RamsOpen3()
 Dim appWD As Word.Application
 Set appWD = New Word.Application
 Dim docWD As Word.Document
 Set docWD = appWD.Documents.Open(ActiveWorkbook.path & "\RAMS.docx.docm")
 appWD.Visible = True
 '
 ' Data is selected and copied into "Design"
 '
 'Copy all data from Design
 Sheets("Frontsheet").Select
 Range("D18").Copy
' Tell Word to create a new document

 appWD.activate 'Activate the workbook here.
 appWD.Selection.Paste
' Save the new document with a sequential file name
 Sheets("Sheet1").Select
 appWD.ActiveDocument.SaveAs filename:=ThisWorkbook.path & "/" & "TEST" & Range("C8").Text & ".docm" 'NOTE: YOU must add the extension
' Close this new word document
appWD.ActiveDocument.Close
' Close the Word application
 appWD.Quit
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...