2015-04-12 24 views
0

我创建了一个使用Word.Application打开Word文档的窗体,代码正常工作,我能够查看,编辑和保存文档。当在我的应用程序中运行Word应用程序的实例时,无法关闭Word

问题是,当我打开另一个Microsoft Word实例(我的应用程序外),字实例在同一WINWORD.exe进程打开了,我的意思是,只有一个WINWORD.exe在任务管理器进程过程中无论有多少字情况下,我打开,因此,应用程序外部的单词实例无法关闭(使用X按钮,File => Close或Alt + F4),除非关闭应用程序中的单词实例,否则无法关闭该实例。

我不知道它为什么在我的应用程序创建的同一个过程中打开,它将新打开的单词实例视为我的Word应用程序对象的文档(但是它会在我的应用程序之外的新词窗口中打开) ,所以你不能关闭文档而不关闭主应用程序对象。

这里是我使用加载Word应用程序我的表单里面的代码:

Public Sub LoadDocument(ByVal t_filename As String) 
    filename = t_filename 
    If wd Is Nothing Then 
     wd = New Word.Application() 
     End If 

    Try 
     wd.CommandBars.AdaptiveMenus = False 
    Catch 
    End Try 

    If wordWnd = 0 Then 
     wordWnd = FindWindow("Opusapp", wd.Caption) 
    End If 
    If wordWnd <> 0 Then 
     SetParent(wordWnd, Me.Handle.ToInt32()) 

     Dim newTemplate As Object = False 
     Dim docType As Object = 0 
     Dim [readOnly] As Object = True 
     Dim isVisible As Object = True 
     Dim missing As Object = System.Reflection.Missing.Value 

     Try 
      If wd Is Nothing Then 
       Throw New WordInstanceException() 
      End If 

      If wd.Documents Is Nothing Then 
       Throw New DocumentInstanceException() 
      End If 

      If wd IsNot Nothing AndAlso wd.Documents IsNot Nothing Then 
       'Dim HearingTemplet As Word.Template = wd.NormalTemplate 

       Dim d As Word.Documents = wd.Documents 

       document = d.Add(fileName, True, docType, isVisible) 

       document.ShowGrammaticalErrors = False 
       document.ShowRevisions = False 
       document.ShowSpellingErrors = False 

       document.Application.Visible = False 
       document.Application.Options.SuggestSpellingCorrections = False 
       document.Application.Options.CheckGrammarAsYouType = False 
       document.Application.Options.CheckSpellingAsYouType = False 
       document.Application.Options.CheckGrammarWithSpelling = False 
       document.SaveAs(fileName) 
      End If 
     Catch 
     End Try 

     Try 
      wd.ActiveWindow.DisplayRightRuler = False 
      wd.ActiveWindow.DisplayScreenTips = False 
      wd.ActiveWindow.DisplayVerticalRuler = False 
      wd.ActiveWindow.DisplayRightRuler = False 
      wd.ActiveWindow.ActivePane.DisplayRulers = False 
      wd.ActiveWindow.Caption = "" 

      wd.Options.SaveInterval = 0 
      wd.Options.AllowFastSave = False 
      wd.ActiveWindow.Document.ReadOnlyRecommended = True 
      wd.ActiveWindow.Split = False 
      wd.Application.DisplayRecentFiles = False 
      wd.ActiveWindow.ActivePane.View.Type = WdViewType.wdNormalView 
      wd.ActiveWindow.ActivePane.View.Type = WdViewType.wdPrintView 
     Catch 
     End Try 
     Try 
      wd.Visible = True 
      wd.Activate()    
     Catch 
     End Try 
    End If 
End Sub 

PS:发生问题,不管有多少字情况下打开,所有的人都被打开在同一个过程中,所有这些都被视为我的单词应用程序的文档,除非我关闭我的表单中的Word应用程序,否则我无法关闭它们中的任何一个。

回答

相关问题