Uzyskaj instancję aplikacji Excel z C # przez Handle
Mam prostą aplikację c #, która musi zapisywać pewne wartości w zakresach Excela określonego arkusza. Tworzę instancję aplikacji Excel, jeśli nie istnieje, ale jeśli istnieje, chcę ją aktywować i wziąć instancję, jeśli będzie ona używana w moim kodzie.
Używam tego kodu do utworzenia nowej aplikacji:
Microsoft.Office.Interop.Excel app =
new Microsoft.Office.Interop.Excel.Application();
app.Visible = true;
Aby uzyskać uchwyt aktywnego okna programu Excel, używam tego interfejsu API
[DllImportAttribute("User32.dll")]
private static extern int FindWindow(String ClassName, String WindowName);
Jak mogę uzyskać wystąpienie aplikacji Excel za pomocą uchwytu?
int hWnd = FindWindow(null, "Microsoft Excel - MySheet.xlsx");
Microsoft.Office.Interop.Excel app = ....(hWnd)