【问题标题】:How can I bring other applications' windows to the front in Excel VBA?如何在 Excel VBA 中将其他应用程序的窗口置于最前面?
【发布时间】:2011-12-13 15:26:03
【问题描述】:

我正在使用多个应用程序逐步进行分析。

我想要一个按钮来激活下一个应用程序并将其置于前台并专注于它。

还有一个非模态对话框,它是用 Excel VBA 编码的,应该像 Microsoft Office 中的搜索对话框一样浮动在该应用程序周围。

所有这些功能都应该在 Excel VBA 2007 中实现。

【问题讨论】:

  • 你有没有尝试过什么?

标签: excel vba ms-office


【解决方案1】:

更高版本的 Windows(从 2000 年开始)在激活其他应用程序并将它们强制放在前面时更加严格。请参阅SetForegroundWindow 文档的备注部分。

但由于您想模拟 Alt+Tab,我认为您最好的更改是使用 keybd_event 模拟 Alt+Tab 击键。

【讨论】:

  • 您好,感谢您的回复.....但我希望下一个应用程序(如 word、SAP、IE)通过单击按钮连续出现在所有其他窗口的前面......我想一想是否有任何 API 来控制其他应用程序以使其进入前台并专注于它
  • 你的意思不是我提到的 SetForegroundWindow api?
  • 如果你把另一个应用程序放在它前面,那个按钮会在哪里?也许您应该重新考虑您的设计或更详细地描述您希望实现的目标。
  • 是的,当然 .... 实际上会有一个非模态对话框,它是用 excel VBA 编码的,每个活动的应用程序都会浮动,比如(Office 中的搜索对话框)......将有按钮进入下一个应用程序..该excel表单将对前台的每个应用程序处于非模态模式..该excel将包含所有代码并将集中控制所有应用程序
  • 为什么又是用 Excel VBA 写的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-14
  • 2015-04-03
  • 2022-10-07
  • 2021-01-02
  • 1970-01-01
  • 2017-04-28
相关资源
最近更新 更多