获取Excel窗口回到前台
我从顶端search互联网到根,但我找不到解决scheme。 在我的Excel工作簿中,我想从Outlook导入联系人。 这工作正常没有任何问题。 我通过使用Outlook.ActiveWindow.Activate
获得GAL到前景,并通过使用Outlook.Explorers.Item(1).WindowState = olMinimized
最小化Outlook。 我知道这不是一个非常干净的解决scheme,但一切正常,除非没有其他Outlook窗口打开。
现在到我的问题:
当用户有多个打开的Outlook窗口(例如新的邮件对话框等),我不能把我的Excel应用程序回到前台。 联系人的导入仍然正常工作。 GAL通过单击button来到前景。
我尝试了下面的代码片段,但它们并不真正起作用。
Dim AppTitle As String AppTitle = Application.Caption ' 'some code ' AppActivate AppTitle
另一个尝试是在模块中的这个function
Public Declare Function SetForegroundWindow Lib "user32" _ (ByVal hWnd As Long) As Long
在我的buttonfunction中调用它
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
而不是创build一个新的应用程序实例。