[英]Get Excel Window back to Foreground
我从上到下搜索了互联网,但我找不到解决方案。 在我的Excel工作簿中,我想从Outlook导入联系人。 这很好,没有任何问题。 我通过使用Outlook.ActiveWindow.Activate
将GAL放到前台,并使用Outlook.Explorers.Item(1).WindowState = olMinimized
来最小化Outlook。 我知道这不是一个非常干净的解决方案,但除非没有其他Outlook Windows打开,否则一切正常。
现在我的问题:
当用户有多个打开的Outlook窗口(例如新的邮件对话框等)时,我无法将我的Excel应用程序带回Foreground。 联系人的导入仍然可以正常工作。 GAL通过单击按钮进入前景。
我尝试了以下代码片段,但它们并没有真正起作用。
Dim AppTitle As String
AppTitle = Application.Caption
'
'some code
'
AppActivate AppTitle
另一个尝试是模块中的此功能
Public Declare Function SetForegroundWindow Lib "user32" _
(ByVal hWnd As Long) As Long
在我的按钮功能中调用它
Dim AppXL As Object
Set AppXL = CreateObject("Excel.Application")
'
'some code
'
SetForegroundWindow AppXL.hWnd
我也尝试使用此代码段
Excel.Application.Visible = True
Excel.Application.ActiveWindow.Activate
什么都没有帮助。 唯一发生的事情是任务栏中闪烁的Excel图标。 我希望你能帮我解决这个问题。
假设此代码在Excel工作簿中,它将只是:
SetForegroundWindow Application.hWnd
而不是创建一个新的应用程序实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.