delphi中,如何打开一个word文档?用什么控件,如何调用,最好能给个例子。谢谢了,在线等待,试验成功立即全额给分。
解决方案 »
- 请问大家三层的树一般怎么样设计数据库比较好一些?
- 错误提示:不允许绘图?如何解决?
- 怪事,在WIN2000下能看到硬盘,在BIOS中却看不到这颗硬盘,是什么原因.
- 请问如何将DBgrid控件的行和列颠倒,即第一列显示固定表头信息,同时将第一行按照数据库查询数据动态生成,谢谢????????
- 只求梦中的你
- socket高手请进!
- 请教:使用DCOM编程的问题
- Delphi 2010 在编译GetHostByname时不能编译,但DELPHI 7.0可以!高手帮我一下
- 请大家讨论一个问题(关于Query控件)
- 请问:程序员大本营2000安装时序列号哪里找?
- 字符串查找替换问题,请帮帮忙,急!!
- 我在使用ADOQUERY时遇到的几个问题?很急,请高手指教!
begin
WordFont1.ConnectTo(WordDocument1.Sentences.Get_Last.Font);
WordFont1.Underline := 2;//下划线
WordFont1.Bold := 1;//黑体
// WordFont1.Italic := 1;//斜体
// WordFont1.Emboss := 1;//浮雕
//WordFont1.Engrave := 1;//刻雕
//WordFont1.Shadow := 1;//阴影
//WordFont1.DoubleStrikeThrough := 1;//双删除线
//WordFont1.StrikeThrough := 1;//删除线
WordFont1.Size := 10;//字体大小
end;procedure TForm1.Button3Click(Sender: TObject);
//建立新的word文件
var
Template,NewTemplate,ItemIndex: OleVariant;
begin
Try
Template := EmptyParam;
NewTemplate := True;
ItemIndex := 1;
try
WordApplication1.Connect;
except
MessageDlg('可能未安装Word!',mtInformation,[mbOk],0);
Abort;
end;
WordApplication1.Visible := true; //是否显示word
WordApplication1.Caption := 'Delphi'; Template := EmptyParam;
NewTemplate := False;
WordApplication1.Documents.Addold(Template,NewTemplate);
WordDocument1.ConnectTo(WordApplication1.Documents.Item(ItemIndex)); //关闭拼写检查和语法检查
WordApplication1.Options.CheckSpellingAsYouType := False;
WordApplication1.Options.CheckGrammarAsYouType := False;
SetFont;
//添加内容
WordDocument1.Range.InsertAfter('标题'+ #13);
WordDocument1.Range.InsertAfter('正文测试,正文测试,正文测试,正文测试,' + #13);
WordDocument1.Range.InsertAfter('正文测试,正文测试,正文测试,' + #13);
WordDocument1.Range.InsertAfter(' 正文测试,正文测试,正文测试,' + #13);
WordDocument1.Range.InsertAfter(' 正文测试,正文测试,正文测试,' + #13);
WordDocument1.Range.InsertAfter('asdfasfsdf');
Except
on E: Exception do
begin
ShowMessage(E.Message);
WordApplication1.Disconnect;
end;
end;end;procedure TForm1.Button4Click(Sender: TObject);
var //存盘
SaveChanges,OriginalFormat,RouteDocument: OleVariant;
SavePath: OleVariant;
begin
SaveChanges := WdDoNotSaveChanges;
OriginalFormat := UnAssigned;
RouteDocument := UnAssigned;
try
SavePath := 'd:\samp.doc';
WordDocument1.SaveAs(SavePath);
WordDocument1.Close;
WordDocument1.Disconnect;
WordApplication1.Quit(SaveChanges,OriginalFormat,RouteDocument);
WordApplication1.Disconnect;
except
On E: Exception do
begin
ShowMessage(E.Message);
WordApplication1.Disconnect;
end;
end;
end;
[Error] Unit1.pas(39): Undeclared identifier: 'TStreamHeader'
procedure TForm1.N3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
OleContainer1.CreateObjectFromFile(OpenDialog1.FileName,False);
OleContainer1.DoVerb(0);
end;
end;如果要跟数据库连接起来,我还可以提供资料!
procedure TForm1.Button1Click(Sender: TObject);
var
BS:TADOBlobStream;
begin
if OpenDialog1.Execute then
begin
DataModule2.ADOQuery1.Active:=True;
DataModule2.ADOQuery1.Append;
BS:=TADOBlobStream.Create(DataModule2.ADOQuery1wtext,bmWrite);
BS.LoadFromFile(OpenDialog1.FileName);
BS.Position:=0;
try
try
DataModule2.ADOQuery1.FieldByName('wname').Value:=ExtractFileName(OpenDialog1.FileName);
DataModule2.ADOQuery1wtext.LoadFromStream(BS);
DataModule2.ADOQuery1extension.Value:=ExtractFileExt(OpenDialog1.FileName);
finally
BS.Free;
DataModule2.ADOQuery1.Post;
DataModule2.ADOQuery1.Active:=False;
showmessage('文件保存成功!');
end;
except
showmessage('文件保存失败!');
end;
end;
end;//显示
procedure TForm3.Button2Click(Sender: TObject);
var
BS1:TADOBlobStream;
sFileName:string;
begin
DataModule2.ADOQuery1.Active:=True;
BS1:=TADOBlobStream.Create(TBlobField(DataModule2.ADOQuery1.FieldByName('wtext')),bmRead);
try
sFileName:=ExtractFilePath(Application.ExeName);
sFileName:=sFileName+TStringField(DataModule2.ADOQuery1.FieldByName('wname')).AsString;
BS1.SaveToFile(sFileName);
OleContainer1.CreateObjectFromFile(sFileName,False);
OleContainer1.DoVerb(0);
finally
BS1.Free;
DeleteFile(sFileName);
end;
end;//保存OleContainer中修改后的文档到数据
procedure TForm3.N2Click(Sender: TObject);
var
BS2:TADOBlobStream;
sFileName1:string;
begin
sFileName1:=ExtractFilePath(Application.ExeName);
sFileName1:=sFileName1+'Blob'+TStringField(DataModule2.ADOQuery1.FieldByName('wname')).AsString;
Olecontainer1.SaveAsDocument(sFileName1);
DataModule2.ADOQuery1.Active:=True;
DataModule2.ADOQuery1.Edit;
BS2:=TADOBlobStream.Create(TBlobField(DataModule2.ADOQuery1.FieldByName('wtext')),bmWrite);
BS2.LoadFromFile(sFileName1);
BS2.Position:=0;
try
try
DataModule2.ADOQuery1.UpdateRecord;
TBlobField(DataModule2.ADOQuery1.FieldByName('wtext')).LoadFromStream(BS2);
finally
BS2.Free;
end;
DataModule2.ADOQuery1.Post;
DeleteFile(sFileName1);
showmessage('保存成功!');
except
showmessage('保存失败!');
end;
end;不好意思,没帮到你,希望上面的例子能给你一些起发吧!