我需要把许多WORD文件存到数据库(或其他地方),然后提取出来修改,保存,然后在打印。在这个应用中,不需要显示WORD的全部菜单,但要有能实现表的编辑功能菜单,而且要求显示在应用程序框架里面,请问怎么可以实现,哪位能给我一些关于这方面的资料和代码,不胜感激!
我用olecontainer试了一下,发现会有所有菜单,而且打开不同的文件切换起来很慢,并且打开的状态为不可编辑,如果右键点击编辑则出现变成WORD形式,而且不可返回。
有什么好的方法能在WORD文件和数据库间进行快速存取
我用olecontainer试了一下,发现会有所有菜单,而且打开不同的文件切换起来很慢,并且打开的状态为不可编辑,如果右键点击编辑则出现变成WORD形式,而且不可返回。
有什么好的方法能在WORD文件和数据库间进行快速存取
解决方案 »
- 请问如何用Socket API post网页并获得返回串?
- 怎样把dcu引入到dll中?
- 【求助】如何实现Delphi与Asp之间的变量互传?
- 对D版很失望!贴子无人问津!再次请高手解决DBchart问题!(总共188分)!
- 国庆,,庆祝放假..放分.....祝大家国庆快乐。
- 在32真彩色的分辨率下如何让image透明?
- 用过线程的朋友请进
- 有两个Form,Form1能够调用Form2的参数,而Form2能够调用Form1的参数,该怎么作?
- 這里的朋友看過來﹗
- 请问用ADOQuery写SQL语句,如何处理变量,能不能举个例子。
- 如何取一个字节的前四位和后四位??急
- 如何对日期进行?比如2003-11-1加上3日期就变成2004-2-1了??救命啊
一,从数据库取出WORD文件,保存到指定一个文件夹下面,并给一个文件名称(*.doc)
二,用OLE控件联接WORD文件并打开
保存过程是这样的
一,当WordApplication1的ONDocumentBeforeSave发生时,将当前打开的文件另保存为,然后反另保存为的这个WORD文件保存到数据库。
具体做法是:下面是从数据取出并打开,这是我的原代码,你自己修改一下
至于保存,代码太多了
procedure tfrmConEdit.P_ShowModeText(iContractID:integer);
var
Filename,PasswordDocument,PasswordTemplate,WritePasswordDocument,
WritePasswordTemplate,Encoding,ConfirmConversions,ReadOnly,
AddToRecentFiles,Revert,Visible,Format,ItemIndex:olevariant; strContractText:string;
smContractText:TMemoryStream;
begin
if bbtnAdd.Caption ='&C.取消' then //当前为增加合同记录,因此不经过从数据库装载后再浏览
begin
if trim(edtPath.Text) <>'' then //当路径为空是,不浏览,不为空则对当前路径的浏览
strContractText:=edtPath.Text
else
exit;
end else //不是增加过程中的浏览
begin
if adoqBaseInfo.RecordCount =0 then
exit;
strContractText:=ExtractFilePath(Application.ExeName)+'..\program\contract\合同文本.doc';
smContractText:=TMemoryStream.Create(); //建立内存变量
with dmSystem.adoqSys do
begin
if active then
close;
sql.clear;
sql.add('select ContractID,ContractText from T_ContractText');
sql.Add('where ContractID='+inttostr(iContractID)+'');
open;
if not eof then //找到这条记录,将二进制字段内容付给变量smModeText
begin
TblobField(fields[1]).SaveToStream(smContractText);
if smContractText.Size>0 then //当二进制字段内容不为空
begin
smContractText.SaveToFile(strContractText);
end else
begin
showmessage('数据装载不能功,不能浏览!');
smContractText.Free;
exit;
end;
end;
end;
smContractText.Free;
end; frmConEdit.Visible:=false;
{联接WORD}
wordapplication1.connect;
wordapplication1.visible := true;
wordapplication1.caption := '柳钢物资管理系统--合同管理模块';
{打开一个指定的WORD文件}
FileName := strContractText;//ExtractFilePath(Application.ExeName)+'..\program\contract\合同文本.doc';
ConfirmConversions:= False;
ReadOnly:=False;
AddToRecentFiles:=False;
PasswordDocument:='';
PasswordTemplate:='';
Revert:=True;
WritePasswordDocument:='';
WritePasswordTemplate:='' ;
Format:=wdOpenFormatDocument;
Visible := true;
Encoding := '';
WordApplication1.Documents.Open(FileName,ConfirmConversions,ReadOnly,
AddToRecentFiles, PasswordDocument, PasswordTemplate,Revert,
WritePasswordDocument, WritePasswordTemplate, Format, Encoding, Visible);
ItemIndex:= 1;
WordDocument1.ConnectTo(WordApplication1.Documents.Item(ItemIndex));
WordApplication1.Options.CheckSpellingAsYouType := False;
WordApplication1.Options.CheckGrammarAsYouType := False;
end;
请教,如果有源代码,能给我看看
[email protected]