Формат буфера обмена Office

Если я копирую график из Excel (2007) и выбираю «Специальная вставка» в другом приложении Office, я вижу формат буфера обмена под названием «Графический объект Microsoft Office», который допускает другие настройки, чем расширенные метафайлы. Как мне создать такой объект буфера обмена из моего собственного приложения (C ++), чтобы он получил первоклассную обработку из приложения Office?

Не так важно, чтобы данные диаграммы были связаны, как в приложениях Office - я просто хочу предложить еще один вариант экспорта графиков.

ClipSpy сообщает о нескольких двоичных форматах, включая «Внутреннюю форму Excel 2007», «Встроить исходный код» и «Art :: GVML ClipFormat». Я предполагаю, что они проприетарные и частные, но если кто-то знает о документах, дайте мне знать.


person xan    schedule 12.05.2009    source источник
comment
+1. Это хороший вопрос о том, как создавать форматированные элементы буфера обмена вручную. Я бы сам хотел знать ответ.   -  person ChristianLinnell    schedule 13.05.2009


Ответы (2)


На самом деле это zip-файл (данные начинаются с PK), если вы сохраните данные (используя ClipSpy), вы можете открыть его с помощью предпочитаемой zip-программы.

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

person Shay Erlichmen    schedule 13.05.2009
comment
@xan Тебе удалось заставить его работать? Не могли бы вы помочь мне указать направление? Я пытаюсь сохранить формы Excel из буфера обмена в файл, затем восстановить его снова в буфер обмена и программно вставить обратно позже. Спасибо. - person Jake; 23.06.2012
comment
@Jake Я нашел OfficeXML внутри, но словарь доступных там объектов не подходил для моего контента (который я хотел экспортировать). - person xan; 23.06.2012

Я предполагаю, что формат задокументирован в спецификациях MS был сделан выпустить в рамках антимонопольного постановления.

К сожалению, вам придется их прочитать и попытаться понять, они некрасивые.

person gbjbaanb    schedule 12.05.2009
comment
Просматривая несколько документов, я не понял, чего хотел, но форматы файлов там могут быть полезны. - person xan; 13.05.2009