none
Interop.ExcelのAssembly Versionのバージョン番号について

    質問

  • ExcelがインストールされていないPCにおいて、Excelコンポーネントを使用するアプリケーションとは気付かず動作させたため、
    例外エラーとなり、詳細にはSystem.Runtime.InteropServices.COMException (0x80040154)となっていました。
    Loaded Assembliesの内容を確認すると下記内容がありました。
    Interop.Excel
    Assembly Version: 1.3.0.0
    Win32 Version: 1.3.0.0


    開発時に参照で追加する際に見る「Microsoft.Office.Interop.Excel」のバージョンはExcel 2010の場合は「14.0.0.0」です。

    ネット検索で自分が調べた感じでは推測もありますが、下記の通りです。
    Excel2016     の場合、Microsoft Excel 16.0 Object Library Ver1.9.0.0
    Excel2013     の場合、Microsoft Excel 15.0 Object Library Ver1.8.0.0
    Excel2010     の場合、Microsoft Excel 14.0 Object Library Ver1.7.0.0 
    Excel for Mac の場合、Microsoft Excel 13.0 Object Library
    Excel2007     の場合、Microsoft Excel 12.0 Object Library Ver1.6.0.0
    Excel2003     の場合、Microsoft Excel 11.0 Object Library Ver1.5.0.0
    Excel2002     の場合、Microsoft Excel 10.0 Object Library Ver1.4.0.0
    Excel2000     の場合、Microsoft Excel  9.0 Object Library Ver1.3.0.0
    Excel97       の場合、Microsoft Excel  8.0 Object Library Ver1.2.0.0


    Interop.Excel Assembly Version: 1.3.0.0のバージョン番号とはそもそも何か、
    またどこかで確認できるのでしょうか?
    2015年10月1日 1:27

回答

  • Interop.Excel.dllはTlbimp.exeにて生成されますが、コマンドライン引数から任意のバージョンを指定することができます。

    省略された場合ですが、タイプライブラリの持つバージョンが使用されているようです。このバージョンは「参照の追加」ダイアログにも表示されています。

    なお、8.0~16.0はOfficeのバージョン番号ですが、Microsoft Excel Object Libraryにおいてはあくまで名称の一部として埋め込まれているだけです。

    ちなみにOfficeバージョン13はfor Macではなくスキップしています。

    • 回答としてマーク やじゅ 2015年10月1日 4:37
    2015年10月1日 2:02

すべての返信

  • Interop.Excel.dllはTlbimp.exeにて生成されますが、コマンドライン引数から任意のバージョンを指定することができます。

    省略された場合ですが、タイプライブラリの持つバージョンが使用されているようです。このバージョンは「参照の追加」ダイアログにも表示されています。

    なお、8.0~16.0はOfficeのバージョン番号ですが、Microsoft Excel Object Libraryにおいてはあくまで名称の一部として埋め込まれているだけです。

    ちなみにOfficeバージョン13はfor Macではなくスキップしています。

    • 回答としてマーク やじゅ 2015年10月1日 4:37
    2015年10月1日 2:02
  • ありがとうございました。謎が解けました。
    2015年10月1日 4:38