我正在vb.net中创建一个VSTO Word插件,将图像粘贴为windows图元文件(而不是Word 2010中默认的增强图元文件)。我以前在VBA中用代码完成过这项工作
Selection.PasteSpecial datatype:=wdPasteMetafilePicture
我正在寻找的资源和帮助
- 获取Word文档中光标的位置(选择)
- 检查图像是否为特定类型(在本例中为WMF)
- 在选定位置将图像粘贴到文档
如果您能提供任何帮助/链接,我们将不胜感激!
---编辑---
我已经能够成功地粘贴一个windows元文件图像,但我不确定如何选择当前文档。我可以用一个新文档创建一个新的word应用程序对象,然后将图像粘贴到其中,但我似乎无法选择已经打开的word实例。请参阅下面的代码(注意,我尝试过oWord=GetObject(,"Word.Application"),但没有成功)
Dim oWord As Word.Application
Dim oDoc As Word.Document
Dim objDataTypeMetafile As New Object
objDataTypeMetafile = Word.WdPasteDataType.wdPasteMetafilePicture
oWord = CreateObject("Word.Application")
oWord.Visible = True
oDoc = oWord.Documents.Add
oWord.Selection.PasteSpecial(, , , , objDataTypeMetafile, , )
oWord = Nothing
oDoc = Nothing
将oWord声明为Glocals.ThisAddIn.Application就是诀窍。现在效果很好。
Dim oWord As Word.Application = Globals.ThisAddIn.Application
Dim objDataTypeMetafile As New Object
objDataTypeMetafile = Word.WdPasteDataType.wdPasteMetafilePicture
oWord.Visible = True
oWord.Selection.PasteSpecial(, , , , objDataTypeMetafile, , )
oWord = Nothing