如何插入HTML文件,以便链接到HTML文件的对象图标出现在Microsoft Word中?

时间:2015-05-13 07:44:10

标签: c# html ms-word office-interop

Screenshot of manually embedding an HTML file in Microsoft Word


我需要使用C#代码实现与上面显示的相同的行为。我所拥有的只是我文件系统中的一组HTML文件,应该作为对象添加到现有的Microsoft Word中,以便最终用户可以通过单击图标打开HTML文件。
下面是我尝试的代码,无法将HTML文件上传为链接到HTML文件的图标。相反,它只是在Word中插入HTML内容,这是不期望的。
我所需要的只是使用C#代码以编程方式实现下面提到的步骤。
Insert Object in MS word manually

Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application();           
object missing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Document document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing);
Microsoft.Office.Interop.Word.Paragraph paragraph = document.Content.Paragraphs.Add(ref missing);
paragraph.Range.InsertFile("C:\\Documentum\\CompContent7.html", ref missing, ref missing, ref missing, true);
object filename = "C:\\end_result_document.docx";
document.SaveAs(ref filename);

1 个答案:

答案 0 :(得分:0)

宏录制器是你的朋友。而不是InsertFile,而是使用InlineShapes.AddOLEObject。请参阅https://msdn.microsoft.com/de-de/library/microsoft.office.interop.word.inlineshapes.addoleobject%28v=office.11%29.aspx

我刚刚记录了嵌入一个Word对象,这就是我得到的:

Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.12", _
        FileName:=[pathToMyFile], LinkToFile:= _
        False, DisplayAsIcon:=True, IconFileName:= _
        "C:\PROGRA~2\MICROS~1\Office14\WINWORD.EXE", IconIndex:=1, IconLabel:= _
        [myFileName]