Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.10.2010, 12:22
Аватар для Paskal
Paskal Paskal вне форума
Новичок
 
Регистрация: 28.09.2010
Сообщения: 93
Репутация: 12
Вопрос Заполнение шаблона Word по меткам ,?

Всем прет!
Накопал здесь примерчик как можно заполнять шаблон MSWord-а по меткам но пишет ошибочку не описан индетификатор
Код:
GetActiveOleObject
и
Код:
CreateOleObject
Подскажите пожалуйста как их описать в раздел переменных var .
И второй вопросик в данной ситуации нужно ли подключатся к серверу MSWord
WordApplication1.Connect;
WordDocument1.Connect;


Пример заполнения-->
Код:
MSWord:Variant; 
What,Which,Count,Name:OLEVariant;
begin
try
 MsWord := GetActiveOleObject('Word.Application');
 except
 try
 MsWord := CreateOleObject('Word.Application');
  except
  raise Exception.Create('Ошибка запуска Word');
  end;
 end;
 try
  MSWord.Documents.Open(Имя_файла_шаблона);
  except
  ShowMessage('Ошибка при попытке WORD загрузить шаблон!');
  exit;
  end;
  What:=-1;
  Which:=unAssigned;
  Count:=unAssigned;
  
  Name:='Имя_метки';
  MsWord.Selection.GoTo(What,Which,Count,Name);
  MsWord.selection.TypeText('Текст_метки');
  
  MsWord.Visible:=True;
Ответить с цитированием
  #2  
Старый 21.10.2010, 15:26
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

Держи простенький пример как это делается, по аналогии сможешь сделать свой код.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var WordApp, doc,sel_,cell:Variant;  p,ChisloD:string; i:integer;
fil:OLEVariant; Cel1,Cel2:Variant;
begin
try
 WordApp:=CreateOleObject('Word.Application');//
 doc:=WordApp.Documents.open('E:\Borland Studio Projects\ww\Shablon PasportK.doc');

 WordApp.Selection.GoTo(-1,,,'Inv');//переход к закладке
 WordApp.Selection.TypeText(Edit1.Text);//вставляем то, что нам надо
except
end;


end;
Ответить с цитированием
  #3  
Старый 21.10.2010, 21:17
Аватар для Paskal
Paskal Paskal вне форума
Новичок
 
Регистрация: 28.09.2010
Сообщения: 93
Репутация: 12
По умолчанию

Ребята так и не ответили что мне делать с CreateOleObject
Delphi пишет что он не задиклорирован (нет описания). под каким типом его описывать,,,???
Ответить с цитированием
  #4  
Старый 21.10.2010, 21:43
Аватар для Paskal
Paskal Paskal вне форума
Новичок
 
Регистрация: 28.09.2010
Сообщения: 93
Репутация: 12
Печаль

C CreateOleObject я сам разобрался нужно всего в раздел модулей добавить модуль ComObj
НУ а теперь на счет
Код:
procedure TForm1.Button1Click(Sender: TObject);
var WordApp, doc,sel_,cell:Variant;  p,ChisloD:string; i:integer;
fil:OLEVariant; Cel1,Cel2:Variant;
begin
try
 WordApp:=CreateOleObject('Word.Application');//
 doc:=WordApp.Documents.open('E:\Borland Studio Projects\ww\Shablon PasportK.doc');

 WordApp.Selection.GoTo(-1,,,'Inv');//переход к закладке
 WordApp.Selection.TypeText(Edit1.Text);//вставляем то, что нам надо
except
end;


end;
Я так понимаю в этом WordApp.Selection.GoTo(-1,,,'Inv');
Inv это метка из документа. Только помогите ламеру как эту метку вставить в мой шаблон и что такое -1
Пожалуйста помогите разобраться
Ответить с цитированием
  #5  
Старый 22.10.2010, 06:51
Gman Gman вне форума
Новичок
 
Регистрация: 25.02.2010
Сообщения: 59
Репутация: -54
По умолчанию

Чтобы вставить метку надо: Установить курсор в нужную точку на листе Word - меню Вставка -закладка - в верхнем окне введи имя закладки - нажми добавить, и всё.
Ответить с цитированием
  #6  
Старый 22.10.2010, 21:56
Аватар для Paskal
Paskal Paskal вне форума
Новичок
 
Регистрация: 28.09.2010
Сообщения: 93
Репутация: 12
Вопрос

Gmen спасибо !
Но у меня еще вопрос после нажатия кнопки выскакивает ошибочка

на строке
Код:
doc:=WordApp.Documents.open('1.doc');
Для понятия вот код программы
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleServer, WordXP, ComObj;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    WordApplication1: TWordApplication;
    WordDocument1: TWordDocument;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
WordApp, doc :Variant;
begin
WordApplication1.Connect;
try
WordApp:=CreateOleObject('WordApplication');//
doc:=WordApp.Documents.open('1.doc');
WordApp.Selection.GoTo(-1,,,'paskal1');//переход к закладке
WordApp.Selection.TypeText(Edit1.Text);//вставляем то, что нам надо
except
end;
end;
end.
У меня на форме стоит 1кнопка, 1єдит и WordApplication1
подскажите плиз как устранить єту ошибку, может какой то модуль не подключен.
Заранее спасибо и прошу прощение за столь много вопросов
Ответить с цитированием
  #7  
Старый 23.10.2010, 00:46
Аватар для Paskal
Paskal Paskal вне форума
Новичок
 
Регистрация: 28.09.2010
Сообщения: 93
Репутация: 12
Радость Проблема решена!

Проблема решена!
моя проблема была в том что
Код:
WordApp:=CreateOleObject('WordApplication');
а правильно
Код:
WordApp:=CreateOleObject('Word.Application');
Отдельная благодарность Sergiuz
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:21.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025