![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при работе с Word2000 [D3, Win95/98]
al45 © (2002-04-22 11:01:00)Почему выдается ошибка? (см.ниже по тексту)
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls, ComCtrls, Commctrl, Commdlg, COmserv, ComObj, Comstrs, Oledlg,
Buttons, ToolWin, StdCtrls, Grids;
procedure TForm1.ToolButton15Click(Sender: TObject);
var
ind,i:integer;
r,c:byte;
pt,nz,rs,cs,s,z:string;
W: Variant;
begin
s:="Hello";
z:="a01";
try
// Если Word уже запущен
W := GetActiveOleObject("Word.Application");
except
try
W:=CreateOleObject("Word.Application");
except
ShowMessage("Не могу запустить Microsoft Word");
exit;
end;
end;
W.visible:=true;
pt:=ExtractFilePath(Application.ExeName)+"Rasp.dot";
W.Documents.Add(Template:=pt);
// Ошибка здесь
W.Selection.Goto(What:=wdGoToField, Name:=z); <-- Undeclared identifer "wdGoToField"
W.Selection.TypeText( Text:=s);
// и здесь
W.Quit(SaveChanges:=wdDoNotSaveChanges); <-- Undeclared identifer "wdDoNotSaveChanges"
AFROLOV (2002-04-22 12:21:00) [1]Проще написать в редакторе VBA набить такой код
sub sub1()
Dim tmp as long
tmp=wdGoToField
Selection.TypeText(Str(tmp))//Печатается значение нужной константы
end sub
Также полезно использовать Debuger VBA для просмотра значений.
vlv (2002-04-22 12:04:00) [2]Зайди в Word. Нажми F11 - провалишься в проект. Далее F2. Откроется окно Object Browser. Там по поиску находишь твою константу и смотришь ее численное значение
al45 (2002-04-22 11:44:00) [3]wdGoToField=....//его значение
W.Selection.Goto(wdGoToField{Ранее описанная константа},z);
Извини, не понял: Const
wdGoToField= ?
AFROLOV (2002-04-22 11:17:00) [4]Конечно должна произойти ошибка на стадии компиляции, т.к. таких констант DELPHI не знает. Это внутрение константы VBA для MSWord.
Опиши их как Const wdGoToField=....//его значение.
Синтаксис вызова методов такойже как и у вызовов обычных функций и процедур в DELPHI.
Можно писать так:
W.Selection.Goto(wdGoToField{Ранее описанная константа},z);