VB 2010 Open Word Document

时间:2012-10-23 20:08:43

标签: vb.net visual-studio-2010 word-2010

我需要从我的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

3 个答案:

答案 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)

虽然它可能不是最好的选择,但它会起作用:

  1. 在打开doc文件之前,获取所有进程的pid(如taskmgr中的pid)。每个打开的word文件都有一个pid。

  2. 现在,有一个线程,在某个时间间隔检查,如果pid不再存在,则doc文件关闭。

  3. 不是一个优雅的解决方案,但它适用于我们的项目