none
Vista・XPでは動くが2000では動かない RRS feed

  • 質問

  • VB2005を使い始めたばかりの者です。

     

    Vista+VB2005上でExcel2003を参照するアプリを作っていますが
    その実行ファイルVistaとXP上では問題なく作動するのですが。
    Windows2000上では起動すら出来ません。

    参照設定で
    COM→Microsoft Excel 11.0 ObjectLibrary
    を設定していますが。
    それだけではエラーが出るので
    コードに以下を
    Imports Excel = Microsoft.Office.Interop.Excel
    記述して作成しました。
    この辺りに関係が有るのかなと?思うものの解決策が解りません。

     

    何がいけないのでしょうか?
    何方か御指導下さいますよう、よろしくお願いいたします。

    2008年12月1日 6:59

回答

  • Windows 2000ではどのようなエラーが表示されているのでしょうか。
    また、それぞれのOSにインストールしているExcelのバージョンはいくつでしょうか。

    2008年12月1日 7:47
  • 2000上での実行時のエラーは

    「問題が発生したため、(実行ファイル名)を終了します。」

    と出るだけです。

     

    Excelのバージョンはどの環境も2003です。
    2008年12月1日 8:07
  • 念のための確認なのですが、

    http://www.microsoft.com/japan/msdn/vstudio/support/tools.aspx

    を見るとVS2005の動作条件が

    【Microsoft Windows 2000 Professional Service Pack 4 以上、Windows 2000 Server Service Pack 4 以上、または Windows 2000 Advanced Server Service Pack 4 以上、および Microsoft Internet Explorer 6 以上】

    になっていますが、条件を満たしていますでしょうか?

     

     

    2008年12月1日 8:34
  • 何とか起動はするようになりましたが、
    やはりExcelを参照する所でエラーが起きます。

     

    プロジェクトごとWindows2000の環境に入れてみましたが
    参照設定画面での「Microsoft Excel 11.0 Object Library」のパスを見ると
    <システムでは、指定された参照が見つかりません。>
    と出ていました。Windows2000環境にもExcel2003は入っているのに。

     

    Windows2000環境で「Microsoft Excel 11.0 Object Library」を参照設定
    しなおすと正常に動作するようになりましたが。その実行ファイルを
    Vistaに持ってくると今度はVista上でエラーが起きます。

     

    Excelを参照するだけの小さなプロジェクトも作ってみましたが同じでした、

    Win2000環境で参照設定したプロジェクトをVistaに持ってくると

    <システムでは、指定された参照が見つかりません。>
    とこちらでもなります。

     

    Win2000でもVista・XPでも正常に動作させるようにするには
    どのように参照設定をしたら良いのでしょうか?

    2008年12月2日 9:01
  • Microsoft Excel 11.0 Object Libraryを参照設定すると、"Interop.Excel.dll"が出力ディレクトリに作成されるはずですが、実行ファイルと一緒にそちらも一緒にコピーされていますか?
    "Interop.Excel.dll"が出力ディレクトリにないようであれば、参照設定の"ローカルコピー"が無効になっていませんか?
    CreateObjectを使用する方法もありますので、もしどうしても参照設定でうまくいかない場合はこちらで試してみてはいかがでしょう。
    2008年12月2日 15:13
  • IronTail様

    ご意見有難うございます

    CreateObjectを使用して解決できました。
    2008年12月3日 5:11
  •  IronTail さんからの引用
    Microsoft Excel 11.0 Object Libraryを参照設定すると、"Interop.Excel.dll"が出力ディレクトリに作成されるはずですが、実行ファイルと一緒にそちらも一緒にコピーされていますか?
    "Interop.Excel.dll"が出力ディレクトリにないようであれば、参照設定の"ローカルコピー"が無効になっていませんか?

    過去に下記のようなスレッドがありましたので、参考までにリンクしておきます。

     

    Excel 2000 "Interop.Excel.dll" の再配布について

    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1175738&SiteID=7

    2008年12月3日 13:58
    モデレータ

すべての返信

  • Windows 2000ではどのようなエラーが表示されているのでしょうか。
    また、それぞれのOSにインストールしているExcelのバージョンはいくつでしょうか。

    2008年12月1日 7:47
  • 2000上での実行時のエラーは

    「問題が発生したため、(実行ファイル名)を終了します。」

    と出るだけです。

     

    Excelのバージョンはどの環境も2003です。
    2008年12月1日 8:07
  • 念のための確認なのですが、

    http://www.microsoft.com/japan/msdn/vstudio/support/tools.aspx

    を見るとVS2005の動作条件が

    【Microsoft Windows 2000 Professional Service Pack 4 以上、Windows 2000 Server Service Pack 4 以上、または Windows 2000 Advanced Server Service Pack 4 以上、および Microsoft Internet Explorer 6 以上】

    になっていますが、条件を満たしていますでしょうか?

     

     

    2008年12月1日 8:34
  • 何とか起動はするようになりましたが、
    やはりExcelを参照する所でエラーが起きます。

     

    プロジェクトごとWindows2000の環境に入れてみましたが
    参照設定画面での「Microsoft Excel 11.0 Object Library」のパスを見ると
    <システムでは、指定された参照が見つかりません。>
    と出ていました。Windows2000環境にもExcel2003は入っているのに。

     

    Windows2000環境で「Microsoft Excel 11.0 Object Library」を参照設定
    しなおすと正常に動作するようになりましたが。その実行ファイルを
    Vistaに持ってくると今度はVista上でエラーが起きます。

     

    Excelを参照するだけの小さなプロジェクトも作ってみましたが同じでした、

    Win2000環境で参照設定したプロジェクトをVistaに持ってくると

    <システムでは、指定された参照が見つかりません。>
    とこちらでもなります。

     

    Win2000でもVista・XPでも正常に動作させるようにするには
    どのように参照設定をしたら良いのでしょうか?

    2008年12月2日 9:01
  • Microsoft Excel 11.0 Object Libraryを参照設定すると、"Interop.Excel.dll"が出力ディレクトリに作成されるはずですが、実行ファイルと一緒にそちらも一緒にコピーされていますか?
    "Interop.Excel.dll"が出力ディレクトリにないようであれば、参照設定の"ローカルコピー"が無効になっていませんか?
    CreateObjectを使用する方法もありますので、もしどうしても参照設定でうまくいかない場合はこちらで試してみてはいかがでしょう。
    2008年12月2日 15:13
  • IronTail様

    ご意見有難うございます

    CreateObjectを使用して解決できました。
    2008年12月3日 5:11
  •  IronTail さんからの引用
    Microsoft Excel 11.0 Object Libraryを参照設定すると、"Interop.Excel.dll"が出力ディレクトリに作成されるはずですが、実行ファイルと一緒にそちらも一緒にコピーされていますか?
    "Interop.Excel.dll"が出力ディレクトリにないようであれば、参照設定の"ローカルコピー"が無効になっていませんか?

    過去に下記のようなスレッドがありましたので、参考までにリンクしておきます。

     

    Excel 2000 "Interop.Excel.dll" の再配布について

    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1175738&SiteID=7

    2008年12月3日 13:58
    モデレータ
  • 初音玲さん、MK65536さん、IronTailさん、Azuleanさん回答ありがとうございます。

     

    エリックさん、こんにちは!

    問題が解決されたようで何よりです。エリックさんは今回、CreateObjectを使って解決されたようですが、
    参照設定でうまくいったケースもあるようです、この場合はインポートする名前空間に問題があったようですが。
    http://bbs.wankuma.com/index.cgi?mode=al2&namber=8528&KLOG=21

    このトラブルも結構あるようですので、是非この情報を共有させて頂きたく回答済みチェックをつけさせて頂きました。

    それでは今後もフォーラムをよろしくお願いします!

    2008年12月19日 10:04