繁体   English   中英

将Excel窗口返回到前景

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM