标题:VFP 程序打开Word 或Excel文档,如何将Word或Excel窗口放在最前面?
只看楼主
zhangheyuan
Rank: 1
等 级:新手上路
帖 子:74
专家分:4
注 册:2018-5-23
结帖率:85.71%
已结贴  问题点数:20 回复次数:5 
VFP 程序打开Word 或Excel文档,如何将Word或Excel窗口放在最前面?
目前已经可以打开word文档,但是只在任务栏VFP菜单后面显示,无法再屏幕最前面显示,不知道如何获取焦点,求高人指示!!!!
搜索更多相关主题的帖子: VFP Word Excel 文档 最前面 
2019-01-26 08:32
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
附上代码看看

坚守VFP最后的阵地
2019-01-26 12:29
gs2536785678
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:45
帖 子:565
专家分:1668
注 册:2017-7-16
得分:20 
简单,你通过程序码打开EXCEL的时候,首先让EXCEL窗口最小化,然后再让EXCEL窗口最大化。
如此一来,EXCEL窗口就走致最前面了。
2019-01-26 14:50
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
楼主人呢

坚守VFP最后的阵地
2019-01-27 12:14
zhangheyuan
Rank: 1
等 级:新手上路
帖 子:74
专家分:4
注 册:2018-5-23
得分:0 
3楼的方法非常好,问题解决,方法也简单,谢谢了!(办公室的电脑,上不了外网这个网站,被限制了,所以今天才来恢复!)
oWrd.WindowState=2  && 0 普通 1 最大化  2 最小化
oWrd.WindowState=1  &&一小一大的切换,就激活Word到最全面来了。


但是以下方法:也可以:

Declare long SetForegroundWindow In user32.dll long &&设置顶层窗口
Declare Long FindWindow In WIN32API String lpClassName,String lpWindowName  &&第一个参数写 null才行!
.
.
.
oWrd_hWnd=FindWindow(null,'XXXXXX验收记录.docx - Microsoft Word')  &&第一个参数只能写null 不能写 ''.
if oWrd_hWnd#0
  SetForegroundWindow(oWrd_hWnd)  &&找到了放到最前面。
else
 messagebox("没有找到Word窗口!"+chr(13)+chr(13)+"请检查窗口名称填写正确与否!",0+48,"系统提示您:")
endif
2019-01-28 21:06
schtg
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:https://t.me/pump_upp
等 级:贵宾
威 望:67
帖 子:1355
专家分:2534
注 册:2012-2-29
得分:0 
回复 5楼 zhangheyuan
好!
2019-01-29 09:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-492851-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016062 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved