Проблема с сохранением activex в office 365
Всем Привет,
У меня есть проблема с использованием ActiveX в Word 365.
Я могу скопировать/вставить элемент управления ActiveX в Word 365, но когда я применяю действия сохранения / загрузки, он работает не так, как ожидалось.
Основываясь на анимационном видео, показывающем эффект, вы увидите, что сохранение документа работает должным образом, и вызовите метод IPersistStorage::Save, но когда я решаю применить файл open document, он непосредственно выполняет IPersistStorage::Save, а не IPersistStorage::Load для извлечения сохраненных настроек. В настоящее время эффект представляет собой элемент управления activeX, прикрепленный к документу с его настройками по умолчанию.
Этот эффект можно продемонстрировать здесь:
Влияние на открытый документ документ
Код, связанный с интерфейсом IPersistStorage, виден здесь:
Persist.cpp
Код, связанный с основным телом элемента управления activeX, может быть виден здесь:
MFCActiveXControl1Ctrl.cpp
Весь проект, который нужно повторить с вашей стороны, можно скачать здесь:
Весь проект
Я хотел бы знать, если кто-то уже обнаружил ту же проблему и почему IPersistStorage ведет себя по-другому и какова новая концепция, чтобы использовать ее для совместимости с новым пакетом Office 365 (в основном Word / PowerPoint).
Заранее Вам большое спасибо.
С уважением.
Мики
Что я уже пробовал:
Я видел, что формат docx больше не является составным файлом.
Если вы переименуете файлы DOCX от молнии, он будет содержать дерево папок с блоком управления.
Это странно, что IPersistStorage все еще называется, но ведет себя не так, как ожидалось.
KarstenK
Обратитесь к кодам ошибок для некоторых подсказок, чтобы угадать проблему. :-O