Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Word - имя файла для сохранения, не сохраняя файла, задать имя. 
V
    Опции темы
FFire
Дата 30.4.2006, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.4.2006

Репутация: нет
Всего: нет



Проблема таков:
Пользователь в базе генерит отчет. Отчет автоматом формируется в Ворде. Пользователь может сохранить отчет, а может просто распечатать и закрыть Ворд, т.е. заранее неизвестно что с отчетом сделает пользователь.
Но если он его сохраняет, нужно чтобы имя файла которое предлагает Ворд, ну типа "Документ1", было определено из базы.
Т.е. как самому присвоить имя файла которое Водр выдаст как предложение для сохранения файла?
Что-то ни как не врублюсь... 
PM MAIL   Вверх
Albinos_x
Дата 30.4.2006, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



это свойство только для чтения...
поэтому можно или предварительно сохранять или открывать шаблон.... 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
FFire
Дата 1.5.2006, 06:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.4.2006

Репутация: нет
Всего: нет



Цитата(Albinos_x @ 30.4.2006,  21:23)
это свойство только для чтения...
поэтому можно или предварительно сохранять или открывать шаблон....

Да, хотел сделать таким образом, чтобы шаблон отчета копировался с нужным именем, потом новый шаблон открывается по закрытии удаляется...
Но Ворд все равно предлагает в качестве имени только "Документ1"...
А предварительно сохранять, тоже проблема. В основном пользователи просто печатают, если все сохранять, то будет много лишних файлов.

 
PM MAIL   Вверх
Albinos_x
Дата 1.5.2006, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



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

сохранять всё не обязательно... можно сохранять в один и тот же файл... или после использования удалять...
 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Albinos_x
Дата 1.5.2006, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



по поводу не правильности действий... к примеру, рассмотрим код, который меня попросили посмотреть:
Код

...
  copyfiles(ExtractFilePath(Application.ExeName)+'OLE_dat\отчёт.xls',ExtractFilePath(Application.ExeName)+'\отчёт.xls');
  Excel:=CreateOleObject('Excel.Application');
   Excel.WorkBooks.Open(ExtractFilePath(Application.ExeName)+'\отчёт.xls');
   WB:=Excel.WorkBooks[1].WorkSheets[1];

 Excel.Visible:=False;
     Wb := Excel.WorkBooks.Add(1);
     Ws := Wb.WorkSheets[1];
...

что мы в неём видим... то что человек имеет что-то наподобии шаблона, которые перед использованием копирует в другую папку, далее открывает его, делает видимым эксель, а потом берёт и добавляет новую книгу и работает с ней.... возникает вопрос... а зачем тогда шаблон?

посмотри, может у тебя подобная ситуация.... 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
FFire
Дата 1.5.2006, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.4.2006

Репутация: нет
Всего: нет



У меня шаблоны используются именно как шаблоны. 
В определенных местах расставлены закладки, и в эти закладки вставляются данные.
Т.е. я открываю не сам файл, а файл на основе шаблона, Ворд соответственно предлагает имя "Документ1".
Почему не предлагает имя по первым сиволам,  не знаю, может потому что структура шаблона не простая, ну там таблички всякие, хедеры...
Пробовал в свойствах шаблона название документа менять  - тоже безрезультатно.

так подключаюсь к ворду.
Код

procedure TfmMain.ConnectToWord(TemplateName: OleVariant);
begin
  with dmData.WApp do
  begin
    Connect;
    Documents.Add(TemplateName, EmptyParam, EmptyParam, EmptyParam);
    dmData.WDoc.ConnectTo(dmData.WApp.ActiveDocument);
    Options.CheckSpellingAsYouType := False;
    Options.CheckGrammarAsYouType := False;
  end;
end;


 
PM MAIL   Вверх
Albinos_x
Дата 1.5.2006, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



если я правильно понял, то dmData - у тебя типа запись?

дело в том, что шаблон, в понимании самого ворда это не документ, поэтому он не инициализирует начальное имя...  попробуй открывать его через:
Код
...
WordApplication1.Documents.OpenOld(TemplateName,EmptyParam,EmptyParam,EmptyParam,
                                     EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                     EmptyParam,EmptyParam);
...


Добавлено @ 12:04 
т.е. так:
Код
...
procedure TfmMain.ConnectToWord(TemplateName: OleVariant);    
begin    
  with dmData.WApp do    
  begin    
    Connect;
    Documents.OpenOld(TemplateName,EmptyParam,EmptyParam,EmptyParam,    
                                     EmptyParam,EmptyParam,EmptyParam,EmptyParam,    
                                     EmptyParam,EmptyParam);    
    dmData.WDoc.ConnectTo(dmData.WApp.ActiveDocument);    
    Options.CheckSpellingAsYouType := False;    
    Options.CheckGrammarAsYouType := False;    
  end;    
end;
...
 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
FFire
Дата 1.5.2006, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 30.4.2006

Репутация: нет
Всего: нет



Методы Open и  OpenOld открывают сам шаблон в Ворде (.dot). Надо же экземпляр основанный на шалоне (.doc).

Добавлено @ 13:45 
Все, получилось.

Еще раз попробовал со свойствами файла поработать. 
Там есть один момент, который меня и ввел в заблуждение с самого начала:

Открываем файл на основе нашего шаблона, в заголовке Ворда - "Документ1"
Меняем в свойствах название. Результат в заголовке по прежнему "Документ1", но если попытаться сохранить файл, то Ворд предлагает то имя что было в свойствах.  Т.е. пользователь просто нажимает сохранить и принимает имя "по умолчанию".
Но, пока файл не сохранен, в заголовке Ворда так и будет "Документ1", что собственно меня и смущало. Я и не пробовал сохранять файл. Вроде если в заголовке, то и по дефолту такое же будет...
Ну все, всем спасибо!
 
PM MAIL   Вверх
Albinos_x
Дата 1.5.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 15
Всего: 108



Цитата(FFire @  1.5.2006,  13:38 Найти цитируемый пост)
Методы Open и  OpenOld открывают сам шаблон в Ворде (.dot). Надо же экземпляр основанный на шалоне (.doc).

метод предназначен для открытия файлов *.doc... советую почитать дополнительно, мою статейку:
http://forum.vingrad.ru/index.php?showtopic=84634

Цитата(FFire @  1.5.2006,  13:38 Найти цитируемый пост)
Открываем файл на основе нашего шаблона, в заголовке Ворда - "Документ1"
Меняем в свойствах название. Результат в заголовке по прежнему "Документ1", но если попытаться сохранить файл, то Ворд предлагает то имя что было в свойствах.  Т.е. пользователь просто нажимает сохранить и принимает имя "по умолчанию".
Но, пока файл не сохранен, в заголовке Ворда так и будет "Документ1", что собственно меня и смущало. Я и не пробовал сохранять файл. Вроде если в заголовке, то и по дефолту такое же будет...

свойство только для чтения поэтому "Документ1" в заголовке не изменяется... и не факт что ваш вариант будет всегда срабатывать и не будет вызывать исключения...

 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.1524 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.