VBA好东西啊~
看这段程序:
procedure TForm1.Button1Click(Sender: TObject);
Var
wd:variant;
i: integer;
w: longint;
begin
wd:=CreateOLEObject( 'word.Application' );
try
for i:=1 to wd.fileconverters.count do begin
w:=0;
if (wd.FileConverters.item(i).cansave) and
(pos('HTML', wd.fileconverters.item(i).FORMATNAME)>0) then BEGIN
w:=wd.FileConverters.item(i).SaveFormat;
SHOWMESSAGE(INTTOSTR(W));
end;
finally
WD.QUIT;
end;
end;
W即是SAVEFORMAT的值。 在这里会显示出11。(至少在我的机器上是11)。
把11转化成八进制,即13, 中间添个0, 就是103了。
我想103就是这么来的。
不信的话,你用下面的程序把所有的SAVEFORMAT全部列出来。然后
算一下, 再套到WORD宏里面就知道了.
至于把11变成103你就自己再想法子, 慢慢搞吧.
procedure TForm1.Button1Click(Sender: TObject);
Var
wd:variant;
i: integer;
w,R: longint;
begin
wd:=CreateOLEObject( 'word.Application' );
try
// wd.documents.open('d:/my documents/report.doc');
for i:=1 to wd.fileconverters.count do begin
w:=0;
r:=0;
listbox1.items.add(wd.FileConverters.item(i).FormatName);
if wd.FileConverters.item(i).cansave then
w:=wd.FileConverters.item(i).SaveFormat;
if wd.FileConverters.item(i).canOPEN then
r:=wd.FileConverters.item(i).OpenFormat;
ListBox1.items.add(inttostr(w)+' '+inttostr(r));
end;
finally
WD.QUIT;
end;
end;
这是DOC另存为HTML的例子。。
请自己改改。