id12 |
Отправлено: 28.09.2005, 15:55 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Доброго времени суток!
Я умею делать так
A_FileName="c:\\test.doc";
docs.OleProcedure("Open", A_FileName.c_str());
/*
*/
docs.OleProcedure("Save");
и Word охраняет изменения в файле test.doc, который он ранее окрыл и изменил
Подскажите как изменить последнию строчку, что бы он сохранил под другим именем?
Пробовал
docs.OleProcedure("Save", A_FileNameNEW.c_str());
и
docs.OleProcedure("SaveAs", A_FileNameNEW.c_str());
Итог — ругается и не сохраняет... |
|
Guest |
Отправлено: 28.09.2005, 17:28 |
|
Не зарегистрирован
|
Все там же
Подсказка SaveAs |
|
id12 |
Отправлено: 28.09.2005, 19:02 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
QUOTE (Guest @ 28/09/2005, 17:28) | Все там же
Подсказка SaveAs |
Я не нашел информацию по Вашей ссылке... Неужели Вам трудно написать одну строчку кода? Я же не от безделья спрашиваю. Одна строчка!!! |
|
AVC |
Отправлено: 29.09.2005, 08:34 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE | Неужели Вам трудно написать одну строчку кода? Я же не от безделья спрашиваю. Одна строчка!! |
Ну ладно, раз вам лень думать
CODE |
/*
typedef enum WdSaveFormat
{
wdFormatDocument = 0,
wdFormatTemplate = 1,
wdFormatText = 2,
wdFormatTextLineBreaks = 3,
wdFormatDOSText = 4,
wdFormatDOSTextLineBreaks = 5,
wdFormatRTF = 6,
wdFormatUnicodeText = 7,
wdFormatEncodedText = 7,
wdFormatHTML = 8
} WdSaveFormat;
Document.SaveAs
(FileName, FileFormat, LockComments, Password, AddToRecentFiles
,WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts
,SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter
)
*/
//Variant MWODoc — открытый в запущеном Word'е документ
AnsiString fnout = ExtractFilePath(Application->ExeName) + "aaa.rtf";
MWODoc.OleFunction("SaveAs", fnout, 6);
| |
|
id12 |
Отправлено: 30.09.2005, 09:13 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Спасибо! Если честно, то это тоже не помогло. Пришлось делать грубо, копировать, переиминовывать, и только потом работать с этим файлом. По поводу Вашего высказывания, что мне лень думать, тут я позволю себе не согласиться, т.к. потратил кучу времени ковыряя эти функции. А программа лишь выдавала — "Неверная переменная". И поди там разбирись, какая переменная, где она неверна, в какой именно функции... Иногда даже грустно становилось.
В связи с этими размышлениями, возникает вполне закономерный вопрос — где взять документацию по этим функциям? Если Вам не трудно, расскажите где Вы взяли вот эту информацию:
typedef enum WdSaveFormat
{
wdFormatDocument = 0,
wdFormatTemplate = 1,
wdFormatText = 2,
wdFormatTextLineBreaks = 3,
wdFormatDOSText = 4,
wdFormatDOSTextLineBreaks = 5,
wdFormatRTF = 6,
wdFormatUnicodeText = 7,
wdFormatEncodedText = 7,
wdFormatHTML = 8
} WdSaveFormat;
Document.SaveAs
(FileName, FileFormat, LockComments, Password, AddToRecentFiles
,WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts
,SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter
)
*/
Лично у меня складывается впечатление, что эти функции как "черный ящик", ввел переменные, запустил, а потом если заработало — воспринимается как чудо, не заработало — приходится дальше эксперементировать и тратить кучу времени. Хотелось бы один раз понять логику, а не тупо использовать известные функции...
Если у Вас есть возможность и время, пожалуйста проконсультируйте меня. |
|
AVC |
Отправлено: 30.09.2005, 09:33 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE | Если честно, то это тоже не помогло |
Ошибка у вас где то в сишном коде. Пример рабочий.
QUOTE |
По поводу Вашего высказывания, что мне лень думать, тут я позволю себе не согласиться, т.к. потратил кучу времени ковыряя эти функции
|
Скорее всего не то и не там ковыряли . А "лень думать" относилось к записать макрос и проанализировать результат записи (если нужно нажимая F1 в редакторе VBA) и перевести на С
QUOTE |
возникает вполне закономерный вопрос — где взять документацию по этим функциям? Если Вам не трудно, расскажите где Вы взяли вот эту информацию:
|
В хелпе на VBA посмотрел описание Document.SaveAs
В каталоге $(BCB)\Include нашел файл, в котором упоминается wdFormatRTF (Word_??.h) и посмотрел значения
Возвращаясь к началу
QUOTE |
docs.OleProcedure("Save");
и Word охраняет изменения в файле test.doc, который он ранее окрыл и изменил
Подскажите как изменить последнию строчку, что бы он сохранил под другим именем?
|
Поменять функцию "Save" на "SaveAs"
|
|
|