powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Deplhi7+Ole+Word. Не работает сохранение документа.
16 сообщений из 16, страница 1 из 1
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597545
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот огрызок кода:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
var 
 MSWord: Variant;

.......

//Процедура

var 
 wdApp, wdDoc, wdRng, wdTable ,wdSavePath: Variant;
begin
 MSWord:=CreateOLEObject('Word.Application');
....
//Работа с документом
....
// Сохранение
wdSavePath:=  Form1.spath+'\files\export.doc';
    Msword.ActiveDocument.SaveAs(Name:= wdSavePath,FileFormat:=wdFormatRTF);
    Msword.visible:=true;
    msword:=unassigned;



Пробовал:
Код: pascal
1.
2.
3.
4.
MSWord.Documents.SaveAs(Name:= wdSavePath);
MSWord.ActiveDocument.SaveAs(Name:= wdSavePath);
MSWord.SaveAs(Name:= wdSavePath);
MSWord.SaveFileAs(Name:= wdSavePath);

С прочими параметрами, пустыми в том числе.... результат один:
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597546
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что подскажите?
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597554
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй указать все параметры: https://msdn.microsoft.com/en-us/library/office/aa220734(v=office.11).aspx
А те, которые не нужны, заменить на null.
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597556
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FileSaveAs
Валерий666
Код: pascal
1.
2.
var 
 wdApp, wdDoc, wdRng, wdTable ,wdSavePath: Variant;

Вот нафига объявлять свои переменные со стандартными префиксами Word? Секса в жизни не хватает?
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597560
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_FileSaveAsИзвиняюсь. Это из объекта WordBasic
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597562
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666,
wadman https://msdn.microsoft.com/en-us/library/office/aa220734(v=office.11).aspx Здесь не вижу параметра Name. Вижу FileName
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597568
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
*.SaveAs('D:\Document.doc', EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 
                           EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 
                           EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam)
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597571
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Версия Word (Ms Office) ??? !!!!

2.
Странно. что SaveAs дергается через Msword.ActiveDocument
а не напрямую в Document с которым выше работали.

Ну и сообщение "not supported by automation object" как-то тяжело перевести по другому. Я бы грешил, что ActiveDocument какой-то не такой. Но что делал ТС с Word'ом до этого - не очень понятно.

3. Решил в своем оффисе (Application.Version=16.0) поэксперементировать, без Delphi. VBA не показывает метода SaveAs, теперь метод SaveAs2
https://msdn.microsoft.com/en-us/VBA/Word-VBA/articles/document-saveas2-method-word

В общем, IMHO: "если где увидел люк, не волнуйся, это новая версия MS Office"
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597575
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666,

может, импортируешь библиотеку типов MS Word да просто посмотришь, что там за методы?
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597596
Валерий666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД
Код: pascal
1.
2.
3.
*.SaveAs('D:\Document.doc', EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 
                           EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 
                           EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam)


Помогло. Спасибо!
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597598
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий666...
Помогло. Спасибо!
А ведь сразу ответили: 21170430
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597668
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Здесь не вижу параметра Name. Вижу FileNameЭто видели?
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597707
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, конечно, код прикольный:
Валерий666
Код: pascal
1.
    Msword.ActiveDocument.SaveAs(Name:= wdSavePath,FileFormat:=wdFormatRTF);


Я сперва подумал, что сишник троллит.
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597740
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

А что это вообще за конструкция? Каким боком она может работать?
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597760
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpчччД,

А что это вообще за конструкция? Каким боком она может работать?
Доступ к параметру "по имени".

Смотри, вот метод SaveAs: https://msdn.microsoft.com/en-us/library/office/aa220734(v=office.11).aspx

Там тьма-тьмущая параметров, а тебе нужно лишь задать параметр по имени FileName

Код: pascal
1.
expression .SaveAs(FileName, FileFormat, LockComments, Password, AddToRecentFiles, WritePassword, ReadOnlyRecommended, EmbedTrueTypeFonts, SaveNativePictureFormat, SaveFormsData, SaveAsAOCELetter, Encoding, InsertLineBreaks, AllowSubstitutions, LineEnding, AddBiDiMarks)



Ну и делаешь:

Код: pascal
1.
.SaveAs(FileName := 'D:\Документ.docx')



Можно и позиционно, но пропуская "ненужные", ч/з запятую:
Код: pascal
1.
expression .SaveAs(FileName, , , , , , , , , , , , , , True)





Только с волшебной ОЛЕ- автоматизацией. Гугли: "Automation Object Method-Call Syntax".
...
Рейтинг: 0 / 0
Deplhi7+Ole+Word. Не работает сохранение документа.
    #39597775
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,

именованные параметры

особый случай для IDispatch ( OLE Automation )
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Deplhi7+Ole+Word. Не работает сохранение документа.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]