【分享成果,喜乐正能量】有时候,心就像一座房子,需要定期打扫。 该洗的东西,该扔的东西,然后把自己喜欢的生活放进去,日子就会更加灿烂。 好好生活,好好爱自己,降低期望,减少依赖,你就会过上更好的生活。 。
《VBA信息获取与处理》教程()是我推出的第六套教程,目前是第一次修订。 这套教程定位最高级别,是初中级之后的教程。 本教程的内容有:跨应用信息获取、随机信息利用、邮件发送、VBA互联网数据抓取、VBA延迟操作、剪贴板应用、Split功能扩展、工作表信息等应用交互、FSO对象的利用、获取工作表和文件夹信息、图形信息获取、自定义工作表信息功能等。程序文件通过了32位和64位系统测试。 它非常抽象,更具研究价值。
本教程由两卷和二十个主题组成。 今天的分享内容是:如何用VBA代码切换word和excel(二)
第二节是word和excel两个应用程序之间的激活操作
比如我们的报表界面,当我们的界面继续往下走的时候,我们需要在第二个和第三个按钮处激活刚才打开的excel,这个按钮的代码怎么写呢?
2 使用API函数
正如本讲座中提到的,使用代码在Word中自动激活Excel。 其实,我们在编写程序的时候,会发现,当我们运行一个活动的应用程序(比如word)时,会从这个正在运行的程序的代码中激活另一个应用程序。 对于用户将程序用作主窗口(例如在word运行时激活Excel窗口)来说非常有用。 此时我们可以尝试使用上面的语句,但这需要事先知道要激活的窗口的标题。 而且,从实际性能来看,感觉有点不靠谱,有时能用,有时不行(会提示:错误5,过程调用无效)。 因此,我向大家解释一下,下面第二种方案是调用API函数的方案。
我们可以使用一些简单的 API 函数来完成相同的任务。 API是直接调用组成的DLL库文件的过程。 VBA本身不能做的事情可以使用API函数来完成。 但有一点值得注意。 问题是,API 不具备 VBA 代码的错误处理功能,如果您使用无效参数调用 API 函数,您可能会导致 Excel 崩溃并丢失所有工作。 API 函数应谨慎使用。
以下代码将激活 Excel 主窗口并将键盘焦点设置到 Excel 中的活动工作表。 我这里给出的代码已经在32位版本13中测试过了,在16位和64位版本中你可能无法完全得到你需要的效果。 请注意这一点。 当然,为了保证代码应该适用于其他场合,我给出了一个通用版本,可以从值改为其他应用类来完成实际需求。
Text '声明比较字符串数据 by TEXT 时使用的默认比较方法。
' API 参考声明
#如果 VBA7 那么
Lib "" (ByVal HWnd As ) 只要
Lib“”别名“”(_
作者:瓦尔·阿斯,_
作者:Val As )只要
Lib "" (ByVal HWnd As ) 只要
#别的
Lib "" (ByVal HWnd 只要) 只要
Lib“”别名“”(_
作者:瓦尔·阿斯,_
作者:Val As )只要
Lib "" (ByVal HWnd 只要) 只要
#万一
子 ()
昏暗分辨率只要
暗淡如长
常量=“”
'如果有多个EXCEL运行,程序无法确定激活哪个EXCEL;
'同时必须使用函数中的调用,而不是函数中空字符串“”的调用,两者是不同的
= (:=, :=)
如果 > 0 则
'设置活动窗口
分辨率 = (HWnd:=)
如果 Res = 0 则
“顶部激活错误,错误代码:” & CStr(Err.)
别的
硬件宽度:=
万一
别的
“未发现Excel已打开”
万一
结束子
代码截图:
【待续】
本节代码参考文件“001在WORD中激活EXCEL.docm”
我20多年的VBA实践经验全部浓缩在以下教程中,教程学习顺序:
【分享成果,欢喜正能量】生活中所有的喧嚣经不起时间的沉淀都不算痛苦,更别说创伤,它就像浮云,来来去去,如果你再严重一点,那就是也不来,只是一道风景。 。