vb6使用xlApp.Workbooks.Open打开excel程序如何获得焦点?

如题。xlApp.Workbooks.OpenCommonDialog3.FileNamexlApp.Visible=True我用vb6打开一个xls文件,现在能成功打开... 如题。
xlApp.Workbooks.Open CommonDialog3.FileName
xlApp.Visible = True
我用vb6打开一个xls文件,现在能成功打开,可是excel窗体并没有获取焦点,焦点始终在vb程序上。
请问:如何是打开的excel程序获取焦点?类似于shell函数中的参数1,使打开的程序置顶。
(Shell Environ("systemroot") & "\notepad.exe " & CommonDialog2.FileName, 1)
谢谢。
展开
 我来答
ronabinho
2015-02-06 · 超过34用户采纳过TA的回答
知道答主
回答量:183
采纳率:0%
帮助的人:79.7万
展开全部
我的例子:
Public Const SW_SHOWNORMAL As Long = 1&
Public Sub showexcel ()
    dim hwnd as long
    dim tem as long
    hwnd = FindWindow(vbNullString, "这里填上你的excel表格打开之后任务管理器中应用程序列表对这个窗体的命名(如Microsoft Excel - test.xlsx)") '这里的vbNullString 指明了是空字符串.也就是在所有程序标题名中找你给的标题名
    tem = ShowWindow(hwnd, SW_SHOWNORMAL) '在这里SW_SHOWNORMAL等同于1&,设置窗体恢复最小化
    xlApp.Visible = True

End Sub

可能窗口启动为最小化状态.这种状态下visible属性是没有用的.无法设置窗口可见,要先恢复窗口状态.

用api解决吧.很方便.刚好之前弄了个小程序用到这个功能

用到两个api  分别是findwindow和showwindow,声明去百度一下.添加在一个模块中声明成public,以便调用

首先用findwindow获取excel窗体的句柄存在hwnd变量中.然后用showwindow将已经最小化的excel窗体恢复正常窗口.然后就可以用excel.application对象的visible属性设置为可见状态了.



在有需要的时候call showexcel就可以,或者将代码加到你的操作中

希望能帮到你

ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
EXCEL办公实战
2014-12-11 · Excel办公实战函数、技巧、VBA教程
EXCEL办公实战
采纳数:2380 获赞数:23633

向TA提问 私信TA
展开全部
默认打开的工作薄就是活动 工作薄,已经获得了焦点!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chinaboyzyq
推荐于2016-06-26 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3241万
展开全部
Private Sub Command1_Click()
CommonDialog3.ShowOpen
xlApp.Workbooks.Open CommonDialog3.FileName
xlApp.Visible = True
Me.SetFocus
xlApp.WindowState = xlMinimized
xlApp.WindowState = xlMaximized
End Sub
追问
这么开始还管用,用着用着就不管用了,我知道你的原理是最小化后,再最大化,不知为什么用着用着就不管用了。
不对,是本来就不行,我一开始是在vb6里运行可以。编译出来就不行。
追答
我在xp下编译后测试也没有问题。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8c7e6ee9f
2014-12-11 · TA获得超过286个赞
知道小有建树答主
回答量:426
采纳率:40%
帮助的人:107万
展开全部
XLapp.workbooks(commondialog3.filename).activate
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式