現在Visual Studio Tools for 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には、指定されたファイルパスを使用してリファレンスワークブックを変更する機能があるので、アクティブな場合でも新しいワークシートを追加した場合でも追加できます。私はそれを私の頭の上に持っていますが、私はC#でVSTOアドインでこれを行う方法について正しいコードを考え出すことができません。ありがとうございました。 :) –