Як правильно завершити збереження документа word

Як правильно завершити збереження Документа Word

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

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

# XA0; # XA0; WA.модіфікація;

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

# XA0; # XA0; if not FileExists (vr2 + vr3)) then ShowMessage ( "Так") # XA0;
# XA0; # XA0; else ShowMessage ( "Ні");
# XA0; end;
end;

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

може
FileExists (vr2 + "" + vr3))?
і чому б відразу не вказувати повний шлях в vr3?

Дякуємо за увагу.
Помилки ніякий не порушується.
Зараз побачив, що процес WINWORD.EXE після іспоненіе процедури не завершується, продовжує висіти.


> # XA0; # XA0; # XA0; WA.ChangeFileOpenDirectory (vr2);

як Ви думаєте, що відбувається при виконанні цього методу?

Вважаю змінюється робоча директорія Ворда. Потрібно в цю, іншу директорію зберігати файл.


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

WA.Quit ()


> Гадаю змінюється робоча директорія Ворда. Потрібно в цю,
> Іншу директорію зберігати файл.

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

> Clickmaker,> umbra
Дякуємо. Зробив без відкриття директорії.

Після WA.Quit Ворд вивантажився.

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


> FileExists (vr2), де vr2, на відміну від вищенаведеного
> Коду, повне ім'я файлу-результату, як і раніше не бачить
> Файлу.
>

тому, що його там немає. а є він в папці документів за замовчуванням, яку можна дізнатися, якщо подивитися в меню Ворда сервіс \ параметри, закладка "розташування".


> Тому, що його там немає. а є він в папці документів по
> замовчуванням

і що, він туди потрапить навіть якщо вказати повний шлях в SaveAs?
Типу "всі шляхи ведуть в Рим"?

> Umbra [10]
Після виконання коду бачу цей файл своїми очима в заданій директорії. Але всеодно. Дякуємо за увагу.

Помилка моя, логічна. Виправив.
Після застосування Ваших порад [2]. [6]. [7] все запрацювало.
Усім дуже дякую.