Excel.Application
をインスタンス化して開くためにC#4.0を使用していますExcel.Workbook
。分解すると、私のコードは次のようになります。
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open("someFile");
このOpen()
メソッドには、提供する必要のないオプションの値がたくさんあります。これらのオプションのパラメータのデフォルト値がわからないことを除けば、これは便利です。そのため、価値を提供する必要があるかどうかを判断することはできません。
この場合、 MSDNドキュメントでいくつかのパラメータに必要な情報を見つけることができます。COM相互運用機能タイプのオプションパラメータのデフォルト値を決定する一般的な方法はありますか?
アップデート:
oleview
onを使用して、インターフェイスMSO.dll
に対応するIDLをチェックアウトしました。Workbook
メソッドの場合SaveAs()
、次のようになります。
HRESULT SaveAs(
[in, optional] VARIANT Filename,
[in, optional] VARIANT FileFormat,
[in, optional] VARIANT Password,
blahblah...
[in, optional, defaultvalue(1)] XlSaveAsAccessMode AccessMode,
blahblah...
[in, optional] VARIANT Local,
[in, lcid] long lcid);
Visual Studioでは、ほとんどのパラメーターに対してインテリセンスが表示されます。これは、IDLがタイプ( )やデフォルト値[object Filename = Type.Missing]
に関する情報を提供しないため、理にかなっていると思います。VARIANT
ただし、パラメータについてはAccessMode
、IDLが必要な情報を提供し、インテリセンスがそれを示します。
したがって、質問は次のようになると思います。IDLが、すべてのパラメーターのタイプ(およびデフォルト値)について、それがそうであるように、より具体的でないのはなぜAccessMode
ですか?