我需要从我的VB 2010应用程序中打开现有的Word文档,并检测用户何时关闭文档以便将该文档复制到数据库,无论用户是否对其进行了修改。我该如何做到这一点?感谢。
示例:
'Code here
Dim word as New Word.Application()
Dim doc as New Word.Document()
'open the document here and let the user work on the word document
'detect when user has closed Word
'copy the word document into database
答案 0 :(得分:1)
以下是有关如何创建新文档的示例。也许这会让你入门?
http://support.microsoft.com/kb/316383
另一个好例子:
http://www.codeproject.com/Articles/55685/Word-Automation-using-VB-NET-Part-I
答案 1 :(得分:1)
我正在编辑它以显示完整的代码解决方案,这也会终止应用程序。
Imports Microsoft.Office.Interop
Class MainWindow
Private WithEvents doc As Word.Document
Private app As New Word.Application
Public Sub New()
InitializeComponent()
app.Visible = True
app.Documents.Add()
doc = app.Documents(1)
doc.Activate()
End Sub
Private Sub doc_Close() Handles doc.Close
app.Quit()
End Sub
End Class
答案 2 :(得分:1)
虽然它可能不是最好的选择,但它会起作用:
在打开doc文件之前,获取所有进程的pid(如taskmgr中的pid)。每个打开的word文件都有一个pid。
现在,有一个线程,在某个时间间隔检查,如果pid不再存在,则doc文件关闭。
不是一个优雅的解决方案,但它适用于我们的项目