我正在開發一個使用Visual Studio Tools for Office,VSTO的MSExcel插件。無論如何,我幾乎完成了它,直到我發現並遇到問題。VSTO ThisWorkbook屬性
目前我的C#代碼,利用ActiveWorkbook屬性。但是我發現當另一個Excel實例打開並且特定實例獲得焦點時,我的代碼將在該活動工作簿上運行。
請參閱我下面的代碼:
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);
}
我想發現是我可以在工作簿設置爲一個特定的工作簿,無論它是否處於活動狀態。
嗨!謝謝你回答我的問題。我知道VBA能夠使用指定的文件路徑更改參考工作簿,因此如果我添加新的工作表,而不管它是否處於活動狀態。我把它放在首要位置,但我不能拿出正確的代碼來說明如何在VSTO的C#中添加這樣的代碼。謝謝。 :) –