Чем является Word.Application и Msxml2.DOMDocument.6.0 и как создать такое же?
Может кто-то сталкивался с программной работой с Word, Excel файлами средствами MS Word/MS Excel из любого ЯП,
или обрабатывал XML/XSLT через Msxml опять же из любого ЯП, всё это через механизмы COM-объектов.
Собственно моя задача состоит в том что бы создать что-то вроде Msxml2 для работы с иным типом документов.
Эти объекты они Ole automation? COM object? ActiveX library? Type library?
Как такое собственно повторить?
Куда копать?
ЯП не принципиальный, кресты/шарпы указал т.к. на крестах и шарпах точно что-либо кто-то ваял в эту сторону, дабы могли пользоваться все виндузятники из любого ЯП, ну либо расширял VBA или Excel/Word макросы.
т.е. мне нужно написать COM-сервер который по запросу наверное GUID'а создает мне COM-объект некий IMyDocInterface. А что с именем? Или это т.н. человеко-понятный ProgID который привязан уже CLASID по которому уже реально создается объект с неким GUID'ом?
Ole automation и есть COM-сервер
Msxml2 вам ни к чему если хотьите работать с файлом XML то в любом ЯП есть для этого средства
если хотите работать с файлами например еселя средствами екселя то авам надо поднять Ексель
лучше делать это по имени а не по GUID
например в Делфи
xlapp := createoleobject('excel.application');
чтобы открылся в фоне невидимым
xlapp.DisplayAlerts := False;
xlapp.Visible:= False;
открываем книгу
xlapp.workbooks.open('text.xlsx')
далее работаем средствами екселя как будто внутри екселя макросами или VBA
в конце выходим иначе останется висеть в памяти
xlapp.quit;
в других языках примерно так же
в некоторых в том же делфи или .net можно импортировать TypeLibrary
и работать как с обычными типизироваными обектами Яп а не типа Variant
но то дело вкуса
acwartz, сначала надо определиться со средой разработки, многое она уже сделает сама. есть разница создавать COM-сервер на C++ и на C#, исходя из тегов.
Леонид, ну пускай тот же Delphi. XE8 позволяет только ActiveX Library поднять. Что опять в 7-ю лезть чтобы ком-сервер поднять?
Msxml2 вам ни к чему если хотьите работать с файлом XML то в любом ЯП есть для этого средства
К сожалению у меня только OLE/COM взаимодействие.
Про использование этих объектов я знаю, вопрос в том как создать аналогичную MSXML библиотеку, чтоб дергать её откуда угодно.
acwartz, я привел пример с делфи2010
по моему там не разницы какая версия
и не надо никаких actiex
я помню MSXML использовался в VBA например чтобы с XML работать. но в других языках есть нормальные библиотеки. Активиксы это гемор еще тот.
уверен чего чего а XML парсеров всяких полно, посмотрите на гитхабе или старом бобром sourceforge