Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > OLE для Word


Автор: FTTA 25.12.2012, 00:07
С помощью последовательности команд 

Код

AnsiString vAsCurDir=GetCurrentDir();
AnsiString vAsCurDir1=vAsCurDir+"\\tmmm1est.doc";
vVarDoc.OleProcedure("SaveAs",vAsCurDir1.c_str());



 в OLE сервере Word можно выполнить действие сохранения файла со стандартным расширением *. Doc. 
А с помощью каких команд можно осуществить конвертацыю *. Doc файла в *. Html перед сохранением, и сохранить в формате *. Html ?


[простая замена *.doc на *.html не работает]

Автор: Данкинг 25.12.2012, 00:18
Смотри с помощью записи макроса, как делает сам WORD, и адаптируй для Билдера. Вероятно, какой-то дополнительный параметр при сохранении понадобится.

Автор: Riviero 25.12.2012, 10:34
Код

vVarDoc.OleProcedure("SaveAs",vAsCurDir1.c_str(), wdFormatHTML);

или 
Код

vVarDoc.OleProcedure("SaveAs",vAsCurDir1.c_str(), Variant(8));

Попробуй так

Автор: FTTA 26.12.2012, 00:38
 smile  smile  smile  smile  smile  smile  smile  smile  smile  smile 
Riviero, кто бы ты ни был спасибо,  smile  ну просто охринительно гигантское спасибо. Второй способ работает, все конвертирует как надо. Правда расширения почему-то так и остается *.doc , но это уже фигня. Там думаю немного поэкспериментирую. над ним и у меня все получится.

Автор: Данкинг 26.12.2012, 01:30
Цитата(FTTA @  26.12.2012,  01:38 Найти цитируемый пост)
Правда расширения почему-то так и остается *.doc 

Естественно: ты же сам имя с расширением задаёшь.

Автор: artsb 26.12.2012, 07:28
Цитата(FTTA @  26.12.2012,  00:38 Найти цитируемый пост)
Правда расширения почему-то так и остается *.doc

Код

vVarDoc.OleProcedure("SaveAs", ChangeFileExt(vAsCurDir1, ".htm").c_str(), Variant(8));

Автор: FTTA 10.1.2013, 00:34
Решил не "какать" на форуме и пишу в той же теме. 
Я создал несколько документов


Выбираю необходимый мне
Код

function_select(int n)
    {
    vVarDoc=vVarDocs.OleFunction("Item", n);
    vVarDoc.OleProcedure("Activate");
    }

работаю с ним, а теперь мне надо закрыть его, не закрыв все остальные. Как это сделать?

Спасибо за помощь

Автор: Usper 10.1.2013, 08:38
Код

vVarDoc.OleProcedure("Close");
?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)