从Excel VBA更改Word-ActiveWindow

时间:2018-12-19 15:59:17

标签: excel vba ms-word

VBA的新功能。我想从我的excel宏(创建Word文档)中更改Word中的视图。我在ActiveWindow对象上遇到了麻烦。

这是我要执行的代码:ActiveWindow.View.Type = wdWebView

在我的Excel宏中,我有:

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

我希望能够在Excel从我的宏创建的Word文档中使用View方法。 有人知道我的方法为什么不起作用吗?

2 个答案:

答案 0 :(得分:1)

如评论中所述,您在混合后期绑定和早期绑定,还需要引用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

答案 1 :(得分:0)

不必必须使用早期绑定才能使用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