永发信息网

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

答案:4  悬赏:0  手机版
解决时间 2021-02-15 12:44
vb6使用xlApp.Workbooks.Open打开excel程序如何获得焦点?
最佳答案
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下编译后测试也没有问题。
全部回答
XLapp.workbooks(commondialog3.filename).activate
默认打开的工作薄就是活动 工作薄,已经获得了焦点!
我的例子:
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就可以,或者将代码加到你的操作中
希望能帮到你
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
DNF中 剑圣最好的装备是什么 全套 称号也要
国有资产折股时,不得低估作价并折股,一般应
德众汽车地址在哪,我要去那里办事
谁知道哈尔滨都有什么出版社,谢谢!!!
中国电信百事通ACE10901怎么去啊,有知道地址
丁墨在美人为馅后写什么小说了?
聚落可分为()两大类
arima在matlab中的可用代码,急求!!!!
目前,大同民航已开通了我市与北京、上海、广
华为p9手机怎么设置2个指纹解锁2个数字解锁,
我现在高二 理 想去清北上大学 求学习方法..O
【什么的大会】召开首次会议的目的是什么?
①人,最宝贵的是生命。②生命对每个人只有一
普通话机测第一题漏读一行,在读了4个字发现上
玉润阁地址在哪,我要去那里办事
推荐资讯
高沙镇商铺地皮交易需要哪些手续
煮好的牛头肉怎样做了好吃
常德市北部与接壤,西部与张家界市、怀化市相
c ++中如何表示用二维数组表示矩阵
肾气丸中滋补肾阴的药物是A.干地黄B.山茱萸C.
巴地甲地址在什么地方,想过去办事
百越商场诜敦农家店这个地址在什么地方,我要
视野天下nvr网络录像机插入电脑没反
动漫 公子不要啊 第8话 第1页
这段话什么意思?“我感谢你,造物主和上帝,
如图,在三角形ABC中,BC=8厘米,AD=6厘米,E、F
下列关于施工用电要求的说法正确的是()。A.非
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?