我试图将增强型图元文件粘贴到Word书签中,并与文本一致(而不是浮动,这似乎是默认设置)。具体来说,我的Word宏打开一个Excel文档,复制一系列单元格,然后粘贴到Word中。我知道有一个wdInline
参数,但是不幸的是,我了解到它仅适用于OLE对象。
我在网上遇到的唯一一件事是使用“形状”的想法-具体来说,就是使用InlineShape
对象-但是我还没有找到一种方法来更改我的代码以使其正常工作。
Dim objExcel As New Excel.Application
Dim wb As Excel.Workbook
Dim uniqueIdentifier As String
Dim numRows As Long
Dim excelPath As String
Prompt1:
excelPath = InputBox("Enter directory/path to Excel Interface Catalogue")
If excelPath <> "" Then
Prompt2:
uniqueIdentifier = InputBox("Enter the interface's Unique Identifier")
uniqueIdentifier = UCase(uniqueIdentifier)
If uniqueIdentifier <> "" Then
Set wb = objExcel.Workbooks.Open(excelPath)
wb.Sheets("API Data Fields").Range("G8").Value = uniqueIdentifier *[**Excel function populates the cells referenced in next line**]*
numRows = (wb.Sheets("API Data Fields").Range("J8").Value) + 10
wb.Sheets("API Data Fields").Range(wb.Sheets("API Data Fields").Cells(10, 7), wb.Sheets("API Data Fields").Cells(numRows, 10)).EntireRow.AutoFit
wb.Sheets("API Data Fields").Range(wb.Sheets("API Data Fields").Cells(10, 7), wb.Sheets("API Data Fields").Cells(numRows, 10)).Copy
ActiveDocument.Bookmarks("FieldDefinition").Range.PasteSpecial DataType:=wdPasteEnhancedMetafile
答案 0 :(得分:0)
只要Word版本不太旧(不是Word 2003),PasteSpecial
method的参数为Placement
。这需要一个WdOLEPlacement
枚举,该枚举确定如何插入对象/图形内容:wdFloatOverText
或wdInLine
。
所以...
ActiveDocument.Bookmarks("FieldDefinition").Range.PasteSpecial _
DataType:=wdPasteEnhancedMetafile, Placement:=wdInLine