Как использовать Microsoft Packaging API с VBA для управления файлами OpenXML? - PullRequest
0 голосов
/ 14 июня 2019

Я хотел бы использовать VBA для доступа к внутренней структуре файлов XLSX для хранения пользовательских метаданных и иногда двоичных объектов. После прочтения спецификации OpenXML я нашел путь к странице Википедии для OPC, которая, кажется, указывает, что документы OpenXML могут хранить почти все :

Помимо данных и содержимого документа в разметке XML, файлы в Пакет ZIP может включать другие текстовые и двоичные файлы в таких форматах, как PNG, BMP, AVI, PDF, RTF или даже уже упакованный файл ODF.

Мои пользовательские метаданные должны быть доступны в Excel, когда файл открыт, через пользовательскую ленту и базовый код ... таким образом, требуется VBA.

На странице OPC также описывается Microsoft Packaging API , который, похоже, представляет собой приятную кнопку для обработки сжатия ZIP, файловой структуры OPC и объектов в ней. И это также говорит, что это система на основе COM:

OPC изначально поддерживается в Microsoft .NET Framework 3.0 System.IO.Packaging namespace. Открытые библиотеки существуют для других языки. Начиная с Windows 7, OPC также изначально поддерживается в Windows API через набор интерфейсов COM, совместно именуемых как API упаковки.

Правильно ли я понимаю, что это означает, что это COM-объект, доступ к которому можно получить через ссылку на проект в VBA ..? Или я не прав? ..

Если я прав, как называется его ссылка и / или его DLL ...? Я посмотрел на каждый элемент в моем списке ссылок, и ничего не говорит OPC, Package или Open XML (хотя существует несколько версий Microsoft XML). Интересно, это не в обычном месте, не зарегистрировано или просто отсутствует в моей системе ..?

Так как мне это сделать ..? Какая ссылка может быть ..?

Что касается упоминания .Net, я рассмотрел возможность создания надстройки Office, но тогда для правильного использования документов необходимо было бы передать его установщик.

...