Здравствуйте AccessDenied, Вы писали:
AD>Здравствуйте Morpeh, Вы писали:
M>>А что ты конкретно хочешь, я писал прогу но только общался с excel'ем при помощи Varianta, но в принципе все в мире похоже, так что пиши может помогу.
AD>Задача состоит в редактировании вордовского документа из вилдеровского приложение( поиск и замена какихто определенных слов )
AD>И если можно какиенить ссылки где можно прочитать хорошую инфу о работе с офисом из билдера ( OLE Automation )
Начну с последнего:
Либо я плохо искал либо ... в общем толком лично я нечего не нашел, хотя искал я на русском языке, может у "буржуев" и есть чего, но зато много инфы по делфи, но вот вчем фишка разный способ написания у билдера и дефи в OLE, так что разбирался я собственными силами и встроенной справкой которая в данном вопросе мало чем помогла. советую тебе посмотреть в справке Пример по Variant::Exec() там ты найдешь как примерно вызвать Word и затем его закрыть, но не жди от нее многого самому придется много колупать, к тому же возможно будут непонятные ошибки как это было у меня это я тебе гарантирую (честно)
А вот тебе пример:
#include <utilcls.h> // добавь в начало, иначе не пойдет
...
...
/*
ниже идет код процедуры или функции это смотря как ты сам захочешь.
Сначала можешь попробовать просто на форме поставить кнопку и данный код выполнять по клику.
*/
Variant MSDoc;
Variant MSWord;
bool MSVisible;
AnsiString DocFileName;
/*
здесь показываю как открыть файл вордом так что либо скинь какой ни буть файл на диск С с именем Users.DOC или измени имя и путь в DocFileName
*/
DocFileName = "C:\\User.doc";
MSWord = CreateOleObject("Word.Application"); // вызов ворда
MSVisible = true; // если MSVisible == true то ворд будет видим иначе будет сидеть в темноте
MSWord.OlePropertySet("Visible", MSVisible); // примерно так и предется опщаться с вордом
/*
вот на этом праздник кончился ... начились будни...
надо искать нужные тебе команды VBasic'a, а как? я делал так: запускал Word запускал макрос и производил действия которые будет делать моя программа, затем заходил в редактор макросов и изучал команды VB, затем перекидывал их ворд путь долгий но рабочий например:
открытие документа (C:\User.doc) вордом в VB выгледит так:
ChangeFileOpenDirectory "C:\"
Documents.Open FileName:="User.doc", ConfirmConversions:=False, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto
а в билдере так:
*/
MSDoc = MSWord.OlePropertyGet("Documents").OleFunction("Open", DocFileName); // открытие документа
…
…
/*
Ну для начала хватит, если чего не понятно -> пиши
*/
MSWord.OleProcedure("Quit"); // сказать ворду чтобы "сваливал"
MSWord = Unassigned; // освободить переменную