| 
| 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"
 
 |  
|  |  |