假设我有两个超链接(在excel工作表上)指向两个文档:
例如,我的本地内联网上的A.doc和B。
我将打开第一个文档“A.doc”,然后打开第二个文档“B.doc”
问题是:
如果已经有一个打开的Word文档,然后我点击了超链接(Word文档在我的本地内联网),后面的文件不会自动打开,我必须点击 Flink 的任务栏按钮打开引用的第二个文件。
此问题仅发生在本地Intranet上的Microsoft Word文档中。
如果没有打开的文档,我点击了任何文字超链接,它会正常打开,没有任何问题。
请看这个short video来理解我的问题。
我需要利用Excel中的FollowHyperlink
事件或任何其他方法:
将上一个打开的窗口A.doc置于最前面,然后将第二个窗口B.doc置于最前面。
你可能会觉得这是个奇怪的问题!
但是我每次都要手动操作才能显示并把第二个带到前面。
我在Normal-ThisDocument
上使用过这个API代码(在Word文档中):
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Dim LHwnd As Long
Private Sub Document_Open()
If Application.Documents.Count > 1 Then
LHwnd = FindWindow("rctrl_renwnd32", Application.ActiveWindow.Caption)
SetForegroundWindow (LHwnd)
End If
End Sub
并在我的Excel工作表上使用了这些代码:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
On Error Resume Next
Dim objWd As Object
Set objWd = GetObject(, "Word.Application")
AppActivate objWd.ActiveWindow.Caption
Set objWd = Nothing
End Sub
最后,我找到了这个有用的页面Bring an external application window to the foreground
但我不能使它适应我的需要。
1条答案
按热度按时间llew8vvj1#
请尝试下一个
BeforeDoubleClick
事件。如果问题只与超链接有关,它应该工作...它应该工作在64位,但它很容易适应这两种情况,假设它的工作,因为你需要。