如何在DELPHI运行程序中安全保存外部程序(已运行)未存盘的文档,如WORD文档。(0分)

  • 主题发起人 主题发起人 quaver
  • 开始时间 开始时间
能否用OLE,然后自己控制保存
 
当然可以,你可以使用一个OLE对象绑定到你要控制的WORD文档<br>而具体的保存、关闭等操作,需要用OLE绑定对象具体的控制语句<br>具体对WORD而言就是使用VBA(visual basic for application)来控制<br>所以你只需要查阅VBA书籍就可以了//我以前在PB环境下对WORD控制过。<br>
 
对一个新建的文档,word会弹出一个对话框提示你输入一个文件名以便保存,<br>我想让delphi程序自动保存,如何做到?
 
其实你可以变通的,你可以对于每个都打开一个默认的已有文件名的空白文档,然后用VBA控制<br>按照你自己要求对默认文档修改,最后VBA语句控制保存<br>application.ActiveDocument.SaveAs('your_savename',....)//Saveas参数你自己可以查WORD里VB编辑器帮助<br>对了,了解VBA控制最好方法之一是自己建立录制你要做工作的宏,然后编辑这个宏,你可以学到很多VBA控制方法<br><br>
 
我看过一个控制ie的saveas的例子,它是先找出ie的saveas对话框的handle,然后还可判断用户是否<br>按了保存按钮呢。<br><br>&nbsp; DialogHWnd := FindWindow('#32770', '保存 Web 页');<br>&nbsp; if DialogHWnd &gt; 0 then<br>&nbsp; begin<br>&nbsp; &nbsp; if (GetParent(DialogHWnd) = Application.MainForm.Handle) and IsWindow(DialogHWnd) then<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; Timer.Enabled := False;<br>&nbsp; &nbsp; &nbsp; SavedFileName := '';<br>&nbsp; &nbsp; &nbsp; WasSaved := False;<br>&nbsp; &nbsp; &nbsp; NewWndProc := MakeObjectInstance(NewWndMethod);<br>&nbsp; &nbsp; &nbsp; OldWndProc := Pointer(SetWindowLong(DialogHWnd,<br>&nbsp; &nbsp; &nbsp; &nbsp; GWL_WNDPROC,<br>&nbsp; &nbsp; &nbsp; &nbsp; Longint(NewWndProc))<br>&nbsp; &nbsp; &nbsp; &nbsp; );<br>&nbsp; &nbsp; end;<br>&nbsp; end;<br>
 
接受答案了.
 
后退
顶部