Изменение Word из Excel VBA - ActiveWindow - PullRequest
0 голосов
/ 19 декабря 2018

Новый для VBA.Я хотел бы изменить представление в слове из моего макроса Excel (который создает слово документ).У меня проблемы с объектом ActiveWindow.

Это код, который я хотел бы выполнить: ActiveWindow.View.Type = wdWebView

В моем макросе Excel у меня есть:

Dim objWord
Dim objDoc    
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add

Я хотел бы иметь возможность использовать метод View в этом текстовом документе, который Excel создал из моего макроса. Кто-нибудь понимает, почему мой подход не работает?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Вы не должны использовать раннее связывание, чтобы использовать wdWebView.Вместо этого вы можете использовать:

Dim objWord As Object, objDoc As Object
Const wdWebView As Long = 6
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
objWord.ActiveWindow.View.Type = wdWebView
0 голосов
/ 19 декабря 2018

Как упоминалось в комментариях, вы смешиваете позднюю привязку и раннюю привязку, а также должны ссылаться на экземпляр Word.

Подход ранней привязки может быть (добавьте ссылку на Библиотека объектов Microsoft Word xx.0 в Инструменты > Ссылки ).

Sub MyWord()
    Dim wordApp As New Word.Application
    Dim myDoc As Word.Document

    wordApp.Visible = True
    Set myDoc = wordApp.Documents.Add
    wordApp.ActiveWindow.View.Type = wdWebView
End Sub

Если вы хотите выполнить позднюю привязку, обратите внимание наWdViewType перечисление документов, что wdWebView соответствует значению 6.

Sub MyWord()
    Const wdWebView As Integer = 6
    Dim objWord As Object
    Dim objDoc As Object

    Set objWord = CreateObject("Word.Application")
    objWord.Visible = True

    Set objDoc = objWord.Documents.Add
    objWord.ActiveWindow.View.Type = wdWebView
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...