[英]Bring specific Word instance to front VB
我正在使用以下命名空間: 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()
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.