Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MS Mord - заполнение полей формы - Help me!!! программно не заполняются поля формы 
:(
    Опции темы
LIND
Дата 25.1.2011, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток!

Про это много написано, но... 
Вот не выходит и все тут (и по примерам и без) - может кто поможет разобраться в чем ошибка?
Билась с большим шаблоном - не выходит. Решила проверить на примитивном. Сделала простейший - шаблон: состоит из текста и в середине просто вставила поле формы (DOCVARIABLE ttt \* MERGEFORMAT) c именем ttt. Теперь хочу вставить в него хоть что-нибудь. Текст ниже. 
И на тебе ошибка: 'Запрашиваемый номер семейства не существует'. 

Перебирала варианты (кроме нижеуказанного в тексте): 
newWord.ActiveDocument.FormFields.item(1).Result:='1111111999999999';
newDoc.FormFields.item(1).Result:='1111111999999999';
newDoc.FormFields.item('ttt').Result:='1111111999999999';
НЕ ПОМОГАЕТ!

Помогите плз!!!

Код

function Tfrm_prih.open_word(schablon:string):boolean;
begin
  fileTemplate := GetCurrentDir + '\DOC\'+schablon;
  if FileExists(fileTemplate)=false then
    begin
     ShowMessageFmt('Ôàéë "%s" îòñóòñòâóåò èëè ïîâðåæäåí...', [schablon]);
     open_word:=false;
     exit;
    end;
  try
   newWord:=CreateOleObject('Word.Application');
  except
   raise Exception.Create('Îùèáêà çàïóñêà MS Word !');
   open_word:=false;
   exit;
  end;
  newDoc := newWord.Documents.Add(fileTemplate);
  open_word:=true;
end;

procedure Tfrm_prih.N3Click(Sender: TObject);
begin
 if open_word('t.dot')=true then
   begin
    try
     newWord.ActiveDocument.FormFields.Item('ttt').Result:='1111111999999999';
     newWord.Visible := True;
    finally
     newDoc:= Unassigned;
     newWord:= Unassigned;
    end;
   end;
end;

PM MAIL   Вверх
Ymnuk
Дата 25.1.2011, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здраствуйте.
А если включить запись макросов, выполнить подстановку и после посмотреть что он написал? Не пробовали? Много раз спасало. Я так делал, когда надо было сделать слияние шаблона в ворде с таблицей данных экселя. Запись макросов очень часто спасало. После записи можно практически все переписать с VB в Delphi (благо методы там практически одинаковы)  smile 
PM MAIL ICQ Skype   Вверх
uwannadie
Дата 4.2.2011, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 5.6.2009
Где: Крым, Керчь

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



писал в свое время прогу, которая по закладкам в шаблоне ворда вставляла текст и картинки.
собственно вот код:
Код

Uses ComObj, Clipbrd, WordXP, OleServer; //лишнее убрать, т.к.сейчас уже не помню что и куда совать

procedure InsertString(pBookmark, data: string);
var
  What, Which, Count, Name: OLEVariant;
begin
  What := -1;
  Which := unAssigned;
  Count := unAssigned;
  Name := pBookmark;
  MsWord.Selection.goto(What, Which, Count, Name);
  MsWord.Selection.TypeText(data);
end;

procedure InsertImage(pBookmark: string; aPicture: TFileName);
var
  What, Which, Count, Name: OLEVariant;
  pBitmap: TBitmap;
begin
  pBitmap := TBitmap.Create;
  pBitmap.LoadFromFile(aPicture);
  Clipboard.Assign(pBitmap);
  What := -1;
  Which := unAssigned;
  Count := unAssigned;
  Name := pBookmark;
  MsWord.Selection.goto(What, Which, Count, Name);
  MsWord.Selection.Paste;
end;

использование:
Код

begin
    try
      MsWord := CreateOleObject('Word.Application');
      MsWord.Visible := False;
      MsWord.Documents.Add(DOTPath, EmptyParam);
      InsertString('метка в документе', text_to_insert);
      InsertImage('метка в документе', path_to_picture);
      MsWord.Visible := True;
    except
      MessageBox(Handle, 'Ошибка при создании отчета','Ошибка',MB_ICONERROR);
      MsWord.Quit;
    end;
end;

прилагаю сам шаблон:

Это сообщение отредактировал(а) uwannadie - 4.2.2011, 11:36

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  report.dot 28,00 Kb
--------------------
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




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


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

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