如何复制word页面并粘贴到excel中?
我试图捕捉word中的页面作为图像,并通过VBA粘贴到Excel中如何复制word页面并粘贴到excel中?,excel,vba,ms-word,Excel,Vba,Ms Word,我试图捕捉word中的页面作为图像,并通过VBA粘贴到Excel中 Function openFile() As String With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = False .Filters.Add "Word Files", "*.doc*", 1 .Show openFi
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)
Set objSheet = ThisWorkbook.Sheets.Add(After:= _
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
Set objRange = objSheet.Range("A1")
objSheet.Activate
objWordApp.Visible = False
Dim objPage As Object 'Page
Dim objPane As Object 'Pane
Dim objWindow As Object 'Window
For Each objWindow In objWordDoc.Windows
For Each objPane In objWindow.Panes
For Each objPage In objPane.Pages
Debug.Print "Page"
objPage.Range.Copy // Stop here because Page doesn't have the Range property
objRange.Select
objRange.Parent.PasteSpecial DataType:=wdPasteMetafilePicture
Next objPage
Next objPane
Next objWindow
objWordDoc.Close
objWordApp.Quit
End Function
Sub processWord()
Dim p As String
p = openFile()
readWord (p)
End Sub
由于页面没有范围属性,如何为每个页面选择范围?基本上:
Dim i As Long, wdRng As Object
With objWordDoc
Set wdRng = .Range(0, 0)
For i = 1 To .ComputeStatistics(2)
' Point to the page we want to process
Set wdRng = wdRng.GoTo(1, , i)
Set wdRng = wdRng.GoTo(-1, , , "\Page")
wdRng.Copy
' Output the page.
objRange.Parent.PasteSpecial DataType:=wdPasteMetafilePicture
Next i
End With