数据库导入 word的方法?(150分)

  • 主题发起人 主题发起人 kaoyan999
  • 开始时间 开始时间
K

kaoyan999

Unregistered / Unconfirmed
GUEST, unregistred user!
我写了以下内容,但运行时,提示Range和inserafter方法,automation不支持,
是不是这些方法只适用于Server组件,哪么在用olevariant时应用什么方法,将
数据库导入?

unit Unit5;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,ComObj, Db, DBTables;
type
TForm5 = class(TForm)
Button1: TButton;
DataSource1: TDataSource;
Query1: TQuery;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form5: TForm5;
implementation
{$R *.DFM}
procedure TForm5.Button1Click(Sender: TObject);
var
MSWord:olevariant;
n:integer;
begin
try
MSWord := GetActiveOleObject('Word.Application');//判断当前内存中是否存在Word程序
except
try
MsWord := CreateOleObject('Word.Application');
except
Exit;
end;
end;

MSWord.Documents.Add(NewTemplate:=False);// Delphi程序新建Word文稿
MSWord.Visible := 1;
//使Word可见
MSWord.ActiveDocument.SaveAs(FileName:='C:/WINDOWS/Desktop/test.doc');//保存Word文档
n:=0;//query字段N序号
while not Query1.Eofdo
begin
for n:=0 to Query1.FieldCount -1do
begin
MSWord.Documents.Range.InsertAfter(Query1.fields[n].AsString+#13);
end;
Query1.Next;
end;

end;

end.
 
MSWord.ActiveDocument.Paragraphs.Last.Range.InsertAfter(Query1.fields[n].AsString+#13);
 
不如用Server组件,带有提示。
 
同意楼上
 
谢谢大家.
我还想问一下,如何设置字体?我用了以下方法,均提示不支持font 方法?
MSWord.font('宋体 ');
//设置字体
或 MSWord.Font.Bold :=1;//设置粗体
还有如何设置字号?我发现word录制的宏代码很难用在delphi上,是不是?
我的环境为d5+word2000。
 
vba在DELPHI中应该改改是不是,
 
font 应该在MSWord.ActiveDocument.Paragraphs.Last.Range.Set_Font
大致如此。
 
好些设置一般在Range之后
 
谢谢wk_knife,也谢谢大家!
我用了MSWord.ActiveDocument.Paragraphs.Last.Range.Set_Font,还是不行,说没有Set_Font方法,但我试用了
MSWord.ActiveDocument.Paragraphs.Last.Range.Font.Bold :=1;
//设置单词为粗体
却可以,
但(1)
MSWord.ActiveDocument.Paragraphs.Last.Range.Font('Kingsoft Phonetic Plain');
还是不行,现在的问题是如何设置字体?格式是怎样的?
(2)另外,MSWord.ActiveDocument.Paragraphs.是设置整个段落的,如何设置该段落中的一部分的字体或字号,格式又是怎样的?
拜托诸位帮帮忙。
 
这些细节专门有个帖子讨论过
http://www.delphibbs.com/delphibbs/dispq.asp?lid=737517
 
谢谢.我现在就去看看.
 
我去看了那张贴子,但仍不能解决以下问题。
MSWord.ActiveDocument.Paragraphs.是设置整个段落的,如何设置该段落中的一
部分的字体或字号,格式又是怎样的?如“我是一个教师”中“我”要用楷体,
12号字,但“教师”要用黑体,12号字。这样的问题,如何实现?急,急,急。
 
Range有几个以move打头的方法,就是改变范围的。
 
我建议你还是用Server组件
顺便看看C:/Program Files/Borland/Delphi5/Demos/Activex/Oleauto/SrvComp/Word的例子
有一段讲字体设置。
 
能否详述move方法?
 
用你的这种办法可以把图象送到WORD吗?
把QUICKREPORT里面的那些线条也可以送到WORD吗?
我是新手。
 
[:(]唉,我觉得导入数据库倒是简单,关键是是否能对数据库操作呀。
 
清理旧贴,不问青红皂白,是非恩怨自行了结,呵呵!
 
后退
顶部