Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Вниз

Как правильно завершить сохранение Документа Word   Найти похожие ветки 

 
Alex7 ©   (2007-06-01 14:42) [0]

Судя по всему вопрос слишком простой. Так что на него за последние полчаса нашел много ответов типа "эти вопросы не рассматриваем, т.к. они неоднократно обсуждались"
Дайте, пожалуйста ссылку.
Конректно по проблеме:
Открываю шаблон, модифицирую его и сохраняю под другим именем.
Вот и все. Тут же проверяю  его FileExists - не находит. Хотя визуально вижу его. FileExists начинает видеть его только после того как, его открываю и закрываю самим Вордом или после перезагрузки компа.
Procedure …
var
 vr1,vr2,vr3: OleVariant;
begin
If FileExists(ExtractFileDir(Application.ExeName)+ ‘Shablon.doc") then begin      
  WA.Free;
  WA:=TWordApplication.Create(MainForm);
  vr1 := ExtractFileDir(Application.ExeName)+ ‘Shablon.doc";
  vr2 := ExtractFileDir(Application.ExeName)+’\DirOther\’;
  vr3 := ‘OtherDoc.doc’;

  try
    WA.Connect;
    WA.Documents.Open(vr1,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,vr4,EmptyParam,EmptyParam,vr3,EmptyParam,  EmptyParam,EmptyParam,EmptyParam,EmptyParam);

    WA.модификация;

     WA.ChangeFileOpenDirectory(vr2);
     WA.ActiveDocument.SaveAs(vr3, EmptyParam, EmptyParam, EmptyParam,  EmptyParam, EmptyParam, EmptyParam, EmptyParam,  EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,  EmptyParam, EmptyParam);
       
   finally
     WA.Disconnect;
     WA.Free;
   end;

   if not FileExists(vr2+vr3)) then ShowMessage("Да")  
   else ShowMessage("Нет");
 end;
end;


 
umbra ©   (2007-06-01 14:57) [1]

уберите try .. finally и посмотрите, где возникнет ошибка. До сохранения документа дело просто не доходит.


 
clickmaker ©   (2007-06-01 14:58) [2]

может
FileExists(vr2 + "\" + vr3)) ?
и почему бы сразу не указывать полный путь в vr3?


 
Alex7 ©   (2007-06-01 15:02) [3]

Спасибо за внимание.
Ошибки никакой не возбуждается.
Сейчас увидел, что процесс WINWORD.EXE после испонения процедуры не завершается, продолжает висеть.


 
umbra ©   (2007-06-01 15:03) [4]


>      WA.ChangeFileOpenDirectory(vr2);

как Вы думаете, что происходит при выполнении этого метода?


 
Alex7 ©   (2007-06-01 15:06) [5]

Полагаю меняется рабочая директория Ворда. Нужно в эту, другую директорию сохранять файл.


 
clickmaker ©   (2007-06-01 15:06) [6]


> процесс WINWORD.EXE после испонения процедуры не завершается,
> продолжает висеть

WA.Quit()


 
clickmaker ©   (2007-06-01 15:07) [7]


> [5] Alex7 ©   (01.06.07 15:06)
> Полагаю меняется рабочая директория Ворда. Нужно в эту,
> другую директорию сохранять файл.

так а принципиально не хочется полный путь указывать? Надо именно трансректально это делать?


 
umbra ©   (2007-06-01 15:14) [8]


> Полагаю меняется рабочая директория Ворда. Нужно в эту,
> другую директорию сохранять файл.

меняется директория, которую видно в диалоге "открыть файл". Вы же ничего не открываете, а наоборот, сохраняете. Для этого есть св-во DefaultFilePath (подробности см. в справе по Word VBA).


 
Alex7 ©   (2007-06-01 15:29) [9]

>clickmaker, >umbra
Спасибо. Сделал без открытия директории.

После WA.Quit Ворд выгрузился.

FileExists(vr2), где vr2, в отличие от вышеприведенного кода, полное имя файла-результата, по-прежнему не видит файла.


 
umbra ©   (2007-06-01 15:49) [10]


> FileExists(vr2), где vr2, в отличие от вышеприведенного
> кода, полное имя файла-результата, по-прежнему не видит
> файла.
>

потому, что его там нет. а есть он в папке документов по умолчанию, которую можно узнать, если посмотреть в меню ворда сервис\параметры, закладка "расположение".


 
clickmaker ©   (2007-06-01 15:54) [11]


> потому, что его там нет. а есть он в папке документов по
> умолчанию

и что, он туда попадет даже если указать полный путь в SaveAs?
Типа "все пути ведут в Рим"?


 
Alex7 ©   (2007-06-01 15:55) [12]

>umbra [10]
После выполнения кода вижу этот файл своими глазами в заданной директории. Но, все равно , спасибо за внимание.


 
Alex7 ©   (2007-06-01 16:55) [13]

Ошибка моя, логическая. Исправил.
После применения Ваших советов [2] , [6] , [7] все заработало.
Всем большое спасибо.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.06.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.04 c
1-1177312379
assa
2007-04-23 11:12
2007.06.24
Выборочная обработка wm_mousedown


4-1166968703
vertal
2006-12-24 16:58
2007.06.24
Нахождение имен всех com-портов в системе


8-1159901234
Ah
2006-10-03 22:47
2007.06.24
Просмотр изображений в отдельной папке


2-1180683587
kyn66
2007-06-01 11:39
2007.06.24
Тип "дата" в записи


15-1180506735
DVM
2007-05-30 10:32
2007.06.24
Windows XP Home и 2-х 4--х ядерные процессоры.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский