VBA代码大全030:如何用vba强制关闭word进程?

我们有时候需要从word中提取数据到excel中。

 

这时候一般的套路都是在excel vba中创建word应用程序实例,然后一番操作以后关闭word应用程序。

 

一般的结构都是形如下面这样的:

 

 

这里会有个问题,就是最后的 oWord.Quit 好像是把word应用程序关闭了,但是事实上往往经常是关闭不成功的,如果打开系统任务管理器,会发现实际上word.exe进程仍然存在。

 

这样就会出现当再次运行这个代码时,出现重新加载word应用程序时卡顿的情况,导致代码长时间不响应。

 

这里介绍一段代码放在上面的结构的最后,可以强制的关闭任何存在的word.exe进程,从而扫清障碍。

 

代码如下:

 

 

上述代码的意思是用dos 命令 taskkill 强制关闭word进程。

 

关于在vba中使用dos命令可以看往期文章VBA代码大全016:如何用vba执行DOS命令?

       

发表评论