Vba 字窗口类型不匹配
我正试图捕获word中的页面作为图像,并通过VBA粘贴到Excel中,下面是完整的代码。但是得到了一个Vba 字窗口类型不匹配,vba,ms-word,Vba,Ms Word,我正试图捕获word中的页面作为图像,并通过VBA粘贴到Excel中,下面是完整的代码。但是得到了一个类型不匹配错误,如下面的注释所示。如何修复错误 Function openFile() As String With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = False .Filters.Add "Word Files", "*.d
类型不匹配
错误,如下面的注释所示。如何修复错误
Function openFile() As String
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Filters.Add "Word Files", "*.doc*", 1
.Show
openFile = .SelectedItems.Item(1)
End With
End Function
Function readWord(ByVal path As String)
Debug.Print "Read word", path
Set objWordApp = CreateObject("Word.Application")
Set objWordDoc = objWordApp.Documents.Open(path)
objWordApp.Visible = False
Dim objPage As Page
Dim objPane As Pane
Dim objWindow As Window
Debug.Print objWordDoc.Windows.Count
Debug.Print TypeName(objWordDoc.Windows.Item(1))
For Each objWindow In objWordDoc.Windows 'Got Type mismatch Here
For Each objPane In objWindow.Panes
For Each objPage In objPane.Pages
Debug.Print "Page"
Next objPage
Next objPane
Next objWindow
End Function
Sub processWord()
Dim p As String
p = openFile()
readWord (p)
End Sub
导致此错误的原因是代码包含混乱的对象 您正试图对Word使用后期绑定,但您声明:
Dim objPage As Page
Dim objPane As Pane
Dim objWindow As Window
当您在Excel中编写代码时,会导致以下对象:
Dim objPage As Excel.Page
Dim objPane As Excel.Pane
Dim objWindow As Excel.Window
这会导致类型不匹配错误
我建议您在代码完全正常工作之前避免使用后期绑定。然后,如果您确实觉得有必要,可以将所有对象声明更改为As object
顺便说一句,如果您认为可以使用中列出的SaveAsPNG方法来获取文档页面的图像,那么您就不能-它不存在。LOL<代码>你不能-它根本不存在。让我伤心的消息!