c # Закладка .zip файл встроенный объект - PullRequest
0 голосов
/ 22 октября 2018

Я хочу добавить 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 голосов
/ 22 октября 2018

Для встраивания файла в документ Word требуется OLE Server.Это приложения, которые перечислены в реестре как серверы OLE для файлов определенного типа.Например, Excel зарегистрирован как OLE-сервер для xlsx файлов.

Если доступного OLE-сервера Word нет, может внедрить файл как универсальный «Пакет».Однако неясно, может ли это быть успешно «распаковано» в более позднее время.

Чтобы определить код, необходимый для встраивания файла любого типа, самый верный способ - записать макрос при вставке файла вСлово.На моей машине, если я вставлю файл zip, записанный код будет:

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

Будет ли это работать в вашей среде, я не могу знать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...