質問: (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(2); ```
回答: インターネットを掘り下げた後、COMオブジェクトを持つMicrosoft Interopにバグがあることがわかりました(少なくとも私の場合はMS Excel 2010です)。 バグは.NETがあなたのスレッド(C#またはVBコード)のローカリゼーションが以前にインストールしたMS Excelのローカリゼーションに適しているかどうかをチェックし、そうでない場合は `Microsoft.Office.Interop` 無効。 Your thread localization is derived from your computer regional settings (from the control panel --> regional and language) 次に、この問題を解決するための2つのオプションがあります。 1. (コード別に)スレッドのローカライゼーションを変更するには 2. オフィス用の言語パックをインストールする 最初の解決策はこうです: ``` using System.Threading; //For setting the Localization of the thread to fit using System.Globalization;//the of the MS Excel localization, because of the MS bug Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); excelFileName = System.IO.Path.Combine(excelPath, "Ziperty Buy Model for Web 11_11_2011.xlsm"); ``` それが役に立てば幸い :) gr8日