У мене є вимога відкрити Word документ з Excel і замінити текст у текстове поле в документі Word з текстом з таблиці Excel.
Я записав макрос з Word, і він сказав, що використовувати ActiveDocument
, проте, коли я намагаюся використовувати це в моєму коді в Excel, я отримую a Variable not defined error
.
Ось мій код -
Dim objWord As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.Documents.Open "C:UserskmccormaDesktopReportPage.doc"
ActiveDocument.Shapes("Text Box 12").Select
Я спробував objWord.Shapes, але я отримую повідомлення про те, що об'єкт не підтримує цю властивість.
Я бачу, що властивість Shapes доступна ActiveChart
, мені потрібно щось зробити ActiveChart
отримати це на роботу?
Ще відносно новий для VB, тому будь-яка допомога буде дуже цінуватися.
Відповіді:
1 для відповіді № 1Це тому, що Excel не визнає, що ActiveDocument
є Я б рекомендував використовувати об'єкти. Див цей приклад.
Dim objWord As Object, objDoc As Object
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Open("C:UserskmccormaDesktopReportPage.doc")
With objDoc.Shapes("Text Box 12")
"~~> Do Something
".Select
End With