Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.06.24;
Скачать: CL | DM;

Вниз

Как правильно завершить сохранение Документа 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
2-1180446877
access
2007-05-29 17:54
2007.06.24
из Аксес в Делфи и обратно в Аксес


15-1180524116
Andy BitOff
2007-05-30 15:21
2007.06.24
Как вы думаете ...


3-1175245543
Cara
2007-03-30 13:05
2007.06.24
Таблицы DBF.


15-1180334920
tesseract
2007-05-28 10:48
2007.06.24
Получи 5*10^3 уе от Sun


4-1168809939
Scotty
2007-01-15 00:25
2007.06.24
Подмена logonui.exe