就命啦!!如何在D7中打开WORD文档,修改并保存(100分)

  • 主题发起人 主题发起人 ZHUI78
  • 开始时间 开始时间
Z

ZHUI78

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,能给一段完整的程序最好了!在线等!
 
使用ole控件
 
在 uses 单元中加入 shellapi
调用时用 shellexecute()函数,自己看着添参数
 
没有具体一点的吗?我有一个word文档,调用之后做一定的修改,保存成另一个文件名的word文档
 
打开
ShellExecute(Handle, nil, 'xxx.doc', nil, PChar(AppPath), SW_SHOWMAXIMIZED);
至于修改和保存,在打开的word中进行就可以阿
 
加OLE控件,简单:
TRY
OLE1.CreateObjectFromFile(FileName, False);
OLE1.Visible := True;
OLE1.DoVerb(ovShow);
OLE1.Run;
OLE1.SaveAsDocument(FileName);
except
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
strpath:string;
var
wrdApp, wrdDoc : OleVariant;
BookmarkName, R: OleVariant;
begin
wrdApp := CreateOleObject('Word.Application'); //在uses中加入ComObj
wrdApp.Visible := False; //设置为true就可以看到word文档

wrdDoc := wrdApp.Documents.Open('E:/检疫WHX/意向申请表.doc');
wrdDoc := WrdApp.ActiveDocument;
//如果插入点用书签来设置
BookmarkName := 'slh';
if wrdDoc.Bookmarks.Exists(BookmarkName) then
begin
R := wrdDoc.Bookmarks.Item(BookmarkName).Range;
R.InsertAfter(edit6.Text);
end;
//如果要向表格中插入或修改数据
wrdDoc.Tables.Item(1).Cell(1,2).Range.Text:= trim(Edit1.Text);
wrdDoc.Tables.Item(1).Cell(2,2).Range.Text:= trim(Edit2.Text);
wrdDoc.Tables.Item(1).Cell(2,4).Range.Text:= trim(Edit3.Text);
wrdDoc.Tables.Item(1).Cell(3,2).Range.Text:=trim(Edit4.Text);
wrdDoc.Tables.Item(1).Cell(3,4).Range.Text:= trim(Edit5.Text);

selectDirectory('请选择保存目录', '', StrPath); //在uses中加入FileCtrl
wrdDoc.SaveAs(strpath+'/意向申请表1.doc');
wrdDoc.Close(True);
wrdApp.Quit(False);
end;

当然按照ShellExecute打开文档直接操作就没有什么问题了,而且更简单
 
同意楼上,用ShellExecute比较简单,不过不知道你具体什么要求
 
已经解决了,谢谢!
 

Similar threads

后退
顶部