Ich entwickle derzeit ein Addin für MSExcel mit Visual Studio Tools für Office, VSTO. Wie auch immer, ich bin fast fertig damit, bis ich ein Problem gefunden und gefunden habe.VSTO ThisWorkbook Property
Derzeit verwendet mein C# -Code die ActiveWorkbook-Eigenschaft. Aber ich habe herausgefunden, dass, wenn eine andere Excel-Instanz geöffnet ist und diese bestimmte Instanz den Fokus erhält, mein Code auf dieser aktiven Arbeitsmappe ausgeführt wird.
Bitte beachten Sie meine Codes unter:
public void AddWorkSheet(string wsName, Excel.XlSheetVisibility visibility)
{
Excel.Workbook currentWorkBook =Globals.ThisAddIn.Application.ActiveWorkbook;
if (!IsSheetExists(wsName, currentWorkBook))
{
Excel.Worksheet newWorkSheet;
newWorkSheet = currentWorkBook.Sheets.Add();
newWorkSheet.Visible = visibility;
newWorkSheet.Name = wsName;
Marshal.ReleaseComObject(newWorkSheet);
}
Marshal.ReleaseComObject(currentWorkBook);
}
Was ich will, ist herausgefunden, wie konnte ich die Arbeitsmappe auf eine bestimmte Arbeitsmappe unabhängig davon, ob sie aktiv ist oder nicht.
Hallo! Danke für das Beantworten meiner Frage. Ich weiß, dass VBA die Referenzarbeitsmappe mithilfe des angegebenen Dateipfads ändern kann, wenn ich also ein neues Arbeitsblatt hinzufüge, unabhängig davon, ob es aktiv ist oder nicht. Ich habe es ganz oben im Kopf, aber ich kann nicht den richtigen Code dazu finden, wie man das bei VSTO in C# einbauen kann. Vielen Dank. :) –