我使用以下命名空间:Imports Microsoft.Office.Interop
我需要一个功能,它将特定的Word实例放在前面。 最佳解决方案是
Public Sub toFront(ByVal wdObj as Word.Application, ByVal filePath as String)
'sends by filePath specified Word-Instance to Front
End Sub
我知道有Word.Application.Activate
,但这似乎并不是一直有效,而且它只会激活ActiveDocument。
我已经尝试过以下函数,其中wdObj是Word.Application
wdObj.Activate()
wdObj.Application.Documents(My.Settings.DocPath).Activate()
答案 0 :(得分:0)
Interop中没有这样的功能。尝试使用WinApi:
void BringWindowToTop (Microsoft.Office.Interop.Word.Document doc) {
// To make it active document
doc.Activate();
// I'm not 100% sure, but I think MainWindowHandle gives
// a handle of currently active window of word
IntPtr hwnd = Process.GetCurrentProcess().MainWindowHandle;
BringWindowToTop(hwnd);
}
[DllImport("user32.dll", SetLastError = true)]
static extern bool BringWindowToTop(IntPtr hWnd);