我需要从ms-word文档中的Excel路径创建一个Bitmap对象,而且我似乎无法一步一步地找到一种方法。
目前的解决方案如下。
如下所示:
Dim fld As Field
Set fld = Selection.Fields.Add(Selection.Range, WdFieldType.wdFieldLink, "Excel.Sheet.12 ""[Path to Xlsx]"" ""[Sheet+Range]"" \b", False)
fld.Update
fld.Unlink\b说该字段应该表示为位图对象。fld.Unlink,我将删除链接并保留位图。有没有一种方法可以直接创建位图对象(InlineShape)而不使用字段方法?
我试图在ms-word中记录一个宏,以查看ms-word是如何实现的,但可悲的是,它只给出了这样的结果:
Selection.PasteSpecial Link:=False, DataType:=wdPasteBitmap, Placement:= wdInLine, DisplayAsIcon:=False如果可能的话,我想避免使用剪贴板和PasteSpecial。
编辑:
因为给出的答案告诉我,我的问题没有我希望的那么清楚。
所以首先,我目前唯一的信息是
例如:C:\test\myWorkbook.xlsx Sheet1!A1:D10
这就是我所掌握的全部信息。有了这个信息,我需要在我的ms文档中编程创建一个位图。
如上面所示,我已经有了一个解决方案,它正是这样做的,方法是执行一个指向上述XLSX文件的链接,并在更新之后删除该链接,使其只剩下位图。一个位图留在这里是因为\b标志告诉链接生成一个位图,而不是RTF/HTML。
我现在的问题是,我现在是否还有别的办法。
目前的答案是,在我的ms-word文档中确实插入了位图吗?但是我从哪里得到位图,因为答案并不知道我需要excel工作簿的图像这一事实?正如我前面所说,我只有有限的信息,没有位图。
通过使用粘贴特殊功能https://support.office.com/en-us/article/paste-special-e03db6c7-8295-4529-957d-16ac8a778719,无需编程就可以实现我想要实现的目标
您在Docx中接收到的输出是我希望通过编程实现的,没有剪贴板和粘贴特殊,如果可能的话,使用比我现在更好的解决方案。
发布于 2019-07-11 09:38:38
您可以使用以下代码:
string fileName = "c://msdn.bmp"; //the picture file to be inserted
Object oMissed = doc.Paragraphs[2].Range; //the position you want to insert
Object oLinkToFile = false; //default
Object oSaveWithDocument = true;//default
doc.InlineShapes.AddPicture(fieldName, ref oLinkToFile, ref oSaveWithDocument, ref oMissed); 有关详细信息,请参阅使用c#将图片插入word文档中?。
https://stackoverflow.com/questions/56985842
复制相似问题