2014-01-30 27 views
1

我在vb中创建了一个word文档,但问题在于每次点击按钮时它会打开一个新文档。我曾尝试下面的代码来终止它后,完成了它的 目的,但似乎没有任何工作和 我有搜索多个网站也未找到答案,帮助 我使用互操作如何关闭在后台运行的winword.exe(使用Interop)

我试图关闭后台WINWORD.EXE (objDoc是在Word文档)

 objDoc.Close() 
     objDoc.Application.Quit() 
     objDoc.Application.DDETerminateAll() 
     GC.Collect() 
     System.Runtime.InteropServices.Marshal.FinalReleaseComObject(objDoc) 

是的,我没看后在这个网站约收盘互操作词的应用,但它的失败,所以我愿意接受任何新的想法

+0

这不起作用http://stackoverflow.com/questions/6777422/disposing-of-microsoft- office-interop-word-application我试了一下,不知道什么是错,但我的电脑可能被附身或爱上了word – Wolf

回答

1

你关闭objdoc代替objWord

 objDoc.Close() 
     objWord.Application.Quit(False) 
     objWord = Nothing 
0

你可以只杀过程?不是100%做到这一点的最佳方式,但至少你会确定这个词正在关闭。

Dim pProcess() As Process = System.Diagnostics.Process.GetProcessesByName("winword") 

For Each p As Process In pProcess 
    p.Kill() 
Next 

即时personnaly使用与Word工作某些代码(occassion:wordcompare在服务器上)的类型Interop.Word.Document

  • 昏暗_myApp作为互操作的

    • 文档=对象.Word.Application =新Interop.Word.Application()
    • 昏暗vk_false作为对象=假
    • 昏暗vk_missing作为对象= System.Reflection.Missing.Value

      Marshal.ReleaseComObject(doc) 
      _myApp.Quit(vk_false, vk_missing, vk_missing); 
      Marshal.FinalReleaseComObject(_myApp); 
      
  • +0

    我会给它一个镜头 – Wolf

    +0

    我以为我有一些替代代码。将尝试找到它 – User999999

    +0

    谢谢你,我试过这个过程杀了它失败这是一个问题,因为我有178个winword.exe打开昨天它会导致程序的主要问题,如果不修复 – Wolf

    0

    我有类似的问题,我决定关闭Word后杀的过程,因为否则的话我跑我的程序多次(10-15),我有10-15 WINWORD.EXE进程任务管理器。 为此,我在释放对象并通过此线杀死进程后调用命令提示符Shell(“Taskkill/IM WINWORD.exe/F”)

    它看起来像

     try 
    . 
    . 
    . 
         objDoc.Close() 
           objDoc.Application.Quit() 
           objDoc.Application.DDETerminateAll() 
           GC.Collect() 
           System.Runtime.InteropServices.Marshal.FinalReleaseComObject(objDoc) 
    
         Catch ex As Exception 
          MsgBox("Error: " & ex.ToString, MsgBoxStyle.Critical, "Error!") 
         End Try  
    
         Shell("Taskkill /IM WINWORD.exe /F") 
    
    +0

    谢谢,我试过了它但仍然没有任何工作,我开始认为我的电脑被恶魔附身,将烧毁的东西......并烤棉花糖在它...我欣赏帮助我的布局可能只是错误我想图出去的地方,我应该但杀了它必须在保存之后,如果杀了我的信息未保存的文档 – Wolf

    +0

    奇怪的是,这对我来说非常完美。 是的,您必须将此代码放到最后,或者在完成工作后再调用或丢失数据。祝你好运,解决方案。 – user2771704

    +0

    非常感谢我从一开始就把它放在了尽头,但没有任何作用,这确实是奇怪的,所有建议的方法和那些我尝试过自己应该工作,我不知道这可能是什么原因,但它是一个有趣的挑战,所以我继续尝试谢谢你 – Wolf

    相关问题