Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi 7, M$Word, xp sp3+ / 10 сообщений из 10, страница 1 из 1
25.05.2010, 17:58
    #36648523
aleksandy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
Вот код, в комментариях создание через компоненты вкладки Server.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
 procedure  TForm2.Button1Click(Sender: TObject);
 var 
  fileTemplate, asTemplate : OleVariant;
  namePos, totalPos :  String ;
  i : integer;
  newWord, newDoc : variant;
 begin 
  fileTemplate := GetCurrentDir + '\menu.dot';
  newWord := CreateOleObject('Word.Application');
  newWord.Visible := True;
  newDoc := newWord.Documents.Add(fileTemplate);
   {
  msoWord.Documents.Add(fileTemplate, EmptyParam, EmptyParam, EmptyParam);
  wordDoc.ConnectTo(msoWord.ActiveDocument);
  } 
   with  dm.query  do   begin 
    Open;
    First;
    i :=  2 ;
     while   not  Eof  do   begin 
      namePos := FieldByName('наименование').AsString;
      totalPos := FloatToStrF(FieldByName('цена_блюда').AsCurrency, ffCurrency,  10 ,  2 );
      newDoc.Tables.Item( 1 ).Cell(i,  1 ).Range.Text := namePos;
      newDoc.Tables.Item( 1 ).Cell(i,  2 ).Range.Text := totalPos;
      newDoc.Tables.Item( 1 ).Rows.Add(EmptyParam);
       {
      wordDoc.Tables.Item(1).Cell(i, 1).Range.Text := namePos;
      wordDoc.Tables.Item(1).Cell(i, 2).Range.Text := totalPos;
      wordDoc.Tables.Item(1).Rows.Add(EmptyParam);
      } 
      Inc(i);
      Next;
     end ;
    newDoc.Tables.Item( 1 ).Rows.Item(i).Delete;
     //wordDoc.Tables.Item(1).Rows.Item(i).Delete; 
    Close;
   end ;
   {
  msoWord.Visible := True;
  wordDoc.Disconnect;
  msoWord.Disconnect;
  } 
 end ;
Дома работает (M$ Word2003, xp sp2), а на других компах (M$ Word2003, xp sp3 или vista) - нет.
Кидает ошибку "Не удалось прочитать документ, возможно он поврежден". Причем из проводника файл открывается нормально... WTF???
...
Рейтинг: 0 / 0
25.05.2010, 18:08
    #36648564
NextMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
aleksandyчерез компоненты вкладки Server.
Попробуй импортировать библиотеку типов сам, фиг знает, что там у борландов стояло в тот самый момент.
Эти умники в MS-Soft умудряются некоторые методы Word.Application делать несовместимыми, от версии к версии.

Хотя - у тебя MS word один и тот же...
Но все равно, импорт Type Library никогда не помешает! :)
...
Рейтинг: 0 / 0
25.05.2010, 18:22
    #36648603
aleksandy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
NextManимпорт Type Library никогда не помешает! :)
А как его сделать? Я с делфями лет 5 уже не работал, как там и что уже не помню...
...
Рейтинг: 0 / 0
25.05.2010, 18:26
    #36648613
NextMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
aleksandy, в разных дельфях - по-разному.


D 5/6/7: Project->Import Type Library

D 2007: -> Component -> Import Component ->
...
Рейтинг: 0 / 0
25.05.2010, 18:35
    #36648633
NextMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
Может быть, что-то с файлом шаблона?

Между строками

Код: plaintext
1.
2.
  newWord.Visible := True;
  newDoc := newWord.Documents.Add(fileTemplate);
вставь проверку:

Код: plaintext
1.
2.
3.
4.
   if  FileExists(fileTemplate)  then 
     ShowMessage('Гут!')
   else 
     ShowMessageFmt('С файлом "%s" какая-то фигня...:(', [fileTemplate]);
?
...
Рейтинг: 0 / 0
25.05.2010, 18:42
    #36648655
Anatoly Podgoretsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
авторfileTemplate := GetCurrentDir + '\menu.dot';
Это больше на рулетку похоже.
...
Рейтинг: 0 / 0
25.05.2010, 19:02
    #36648690
aleksandy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
NextMan,

Большой пасиб. Вроде все заработало...
...
Рейтинг: 0 / 0
25.05.2010, 19:14
    #36648724
NextMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
Из-за имени файла?
...
Рейтинг: 0 / 0
27.05.2010, 08:05
    #36651833
aleksandy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
NextManИз-за имени файла?
Нет после импорта :)
...
Рейтинг: 0 / 0
27.05.2010, 08:22
    #36651849
NextMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Delphi 7, M$Word, xp sp3+
Я ж говорю, эти борлондовичи халтурят...
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi 7, M$Word, xp sp3+ / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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