Holen Sie sich eine Instanz der Excel-Anwendung mit C # von Handle

Ich habe eine einfache c # -Anwendung, die einige Werte in Excel-Bereichen eines bestimmten Arbeitsblatts schreiben muss. Ich erstelle eine Instanz einer Excel-Anwendung, falls diese noch nicht vorhanden ist. Falls jedoch vorhanden, möchte ich sie aktivieren und eine Instanz erstellen, wenn sie in meinem Code verwendet werden soll.

Ich benutze diesen Code, um eine neue Anwendung zu erstellen:

Microsoft.Office.Interop.Excel app = 
   new Microsoft.Office.Interop.Excel.Application();
app.Visible = true;

Um das Handle des aktiven Excel-Fensters zu bekommen, benutze ich diese API

[DllImportAttribute("User32.dll")]
private static extern int FindWindow(String ClassName, String WindowName);

Wie kann ich eine Instanz von Excel-Anwendung durch ein Handle bekommen?

int hWnd = FindWindow(null, "Microsoft Excel - MySheet.xlsx");
Microsoft.Office.Interop.Excel app = ....(hWnd)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage