怎么样在用creatObject启动Word后等待Word关闭后再返回主程序?

原石化玉 2003-10-17 06:04:57
用OLE方式处理Word文档,在用creatObject启动Word后不能直接得到Word的进程ID,这样没法利用某个Windows API去等待Word结束。
请问怎样才能在用creatObject启动Word后,取得Word的进程ID呢?
或者有别的办法?
...全文
37 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
原石化玉 2003-10-22
  • 打赏
  • 举报
回复
FengZhongXia(风中侠):
我的信誉值我没法控制,我按要求结帖时发现好几个文档不让我管,有的好像被删除了(列表还有),你说我怎么办?另外,要是没人答对问题,我也得摊分,我觉得很不妥。
我倒是想恢复信誉值100,但我不知道怎么才能做到?
DSOFRAMER控件干吗用的?在哪儿可以得到?
FengZhongXia 2003-10-21
  • 打赏
  • 举报
回复
你的信誉值太低啦...

不过还是告诉你吧...
dim objWord as word.application

.....

...

objword.quit
set objword=nothing
这样就可以退出了
要是想在程序中加入WORD文档的话,见意你用DSOFRAMER控件,是微软做的一个控件,不要$
dunkel 2003-10-19
  • 打赏
  • 举报
回复
用 FindWindow(vbNullString, oWordApp.ActiveDocument.Name & " _ " & oWordApp.Name) 搜索到的窗口应该没有问题吧, 要是哪个程序窗口的标题也是诸如 "文档 1 - Microsoft Word" 这样的, 那可真是叫没办法了. 或者试试 oWrodApp.Activate 后再用 GetForgroundWindow 函数获取 Word 的窗口, 不过自己没有这么用过, 也不知可靠否.
changechange 2003-10-19
  • 打赏
  • 举报
回复
用api可行吗?因为是ole嵌入,读取的窗口不一定是word啊
dunkel 2003-10-18
  • 打赏
  • 举报
回复
可以试试先用 FindWindow() 系统函数查找到刚创建的 Word 的窗口的句柄, 再用 GetWindowThreadProcessId 系统函数来获取相关进程(实际上也就是刚调用到的 Word)的ID.

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧