C#书签.zip文件嵌入对象

时间:2018-10-22 12:13:22

标签: c# ms-word bookmarks

我想在嵌入了书签的Word文档中添加zip文件。 我可以添加.pdf,.doc,.txt或.xls文件,但不能将.zip文件添加到我的Word文档中。我怎样才能做到这一点?是类类型问题吗?

 Bookmark bmEmbedded = doc.Bookmarks["ek10"];
                                bmEmbedded.Select();
                                object classType = "Word.Document.12";

                                if (uzanti.Contains(".doc")) classType = "Word.Document.15";
                                else if (uzanti.Contains(".xls")) classType = "Excel.Sheet";
                                else if (uzanti.Contains(".txt")) classType = "Text Document";
                                **else if (uzanti.Contains(".msg")) classType = "Outlook.Item";**
                                else if (uzanti.Contains(".pdf") || uzanti2.Contains(".pdf")) classType = "AcroRd32.Document";


                                    wordApp.Selection.Range.InlineShapes.AddOLEObject(ClassType: classType, FileName: embeddedFilePath2, DisplayAsIcon: true, LinkToFile: false, IconFileName: labelControl64.Text);

1 个答案:

答案 0 :(得分:0)

要在Word文档中嵌入文件,需要OLE Server。这些应用程序在注册表中被列为特定文件类型的OLE服务器。例如,Excel已注册为xlsx文件的OLE服务器。

如果没有可用的OLE Server Word,则可以将文件作为通用“包”嵌入。但是,是否可以在以后成功“拆包”仍然是不确定的。

为了确定嵌入任何类型的文件所需的代码,最可靠的方法是在将文件插入Word时记录宏。在我的计算机上,如果我嵌入zip文件,则记录的代码为:

    Selection.InlineShapes.AddOLEObject ClassType:="CompressedFolder", _
      fileName:="C:\Test\CalcIfFields.docx.zip", LinkToFile:=False, _
      DisplayAsIcon:=False

这在您的环境中是否可行,我不知道...