none
アプリからexcelが呼び出せない RRS feed

  • 質問

  • 業務で必要なアプリがありまして、印刷用の書類を作成したりする際にexcelに吐き出すものですが、PCを買い替えたところ、excelが起動できなくなってしまいました。excelを直接起動すれば、通常通り使用できます。

    OSは、Window10Pro(64bit版)で、Office Personal2016(法人向け)がプリインストールされているものです。

    アプリの製造もとにもハードの製造もとにも確認したのですが、Microsoftの問題ということで解決にいたらず、困っています。再インストール棟は試し済みです。

    アプリの製造元からは、以下のように言われました。

    「当社のアプリは『GetTypeFromProgID関数』を利用し、Excelを呼び出しますが、『null』となり呼び出せず、『excelがインストールされていません。』のメッセージが表示されてしまう。」

    また、エラーログには、以下のような内容がかかれていました。

    'System.__ComObject' COM オブジェクトをインターフェイス型 'Microsoft.Office.Interop.Excel.Application' にキャストできません。

    IID '{000208D5-0000-0000-C000-000000000046}' が指定されたインターフェイスの

    COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、

    この操作に失敗しました: インターフェイスが登録されていません

    (HRESULT からの例外:0x80040155)

    小さな事務所のため、システム担当はおらず、私自身も詳しくなく、いろいろ検索してみて、レジストリエディタで

    他のバージョンのものが入っていないかなど確認したのですが、1.9以外ものは見つかりませんでした。

    アドバイスなどいただけたら幸いです。よろしくお願いします。

    2019年1月31日 1:54

すべての返信

  • ほんださん2383 さん、

    詳細な状況が分からないので、断定的なことは申せませんが・・・

    Excel が入っている(Excel が起動できるという事実がある)にもかかわらず、Excel が起動できないのは、当該アプリケーションの製造元に問題があるようにおも思われます。Excel の ProgID が取得できないので(関数の実行結果が null なので)Excel を起動できないというのは、先方(ソフトの製造元)の都合であり、責任を回避できる(Microsoft の問題である)とは思えません。

    差し支えなければ、ソフトの名前と製造元をお教えいただけませんでしょうか?

    以上です。


    Ashidacchi -- https://ssl01.rocketnet.jp/hokusosha.com/default.html

    2019年2月6日 9:51
  • 例えば

    https://devlights.hatenablog.com/entry/20070706/p1

    にあるような GetTypeFromProgID で Excel のインストールを判定する最小化されたプログラムを実行してみて、それで正常に判定できるのであればアプリ側の問題(GetTypeFromProgID の使い方が間違っているとか)でしょう。


    Hebikuzure aka Murachi Akira

    2019年2月6日 10:54
  • Hebikuzure aka Murachi Akira さん、

    どのようにして Excel を起動するかはアプリ側の問題だと思います。GetTypeFromProgID を使うのは、その手段の1つだと思います。
    言いたかったことは・・・
    実装手段はアプリ側に任されているので、結果として Excel が起動できないなら、その責はアプリ側にあるだろう、ということです。

    すみません、素人がエラそうなことを書きました・・・ <m(__)m>


    Ashidacchi -- https://ssl01.rocketnet.jp/hokusosha.com/default.html

    2019年2月6日 11:34
  • 最近のプリインストール Office はストアアプリ(UWP)になっているケースがあります。
    この場合、管理者権限で動いているアプリからは COM の初期化に失敗するようです。
    これは、Office か、Packaged COM の制限と予想されます。(不具合の可能性もありますが、言い切れる根拠はありません)

    もし、これに当てはまる場合は管理者権限で起動しないようにするか、デスクトップ版の Office を再インストールするかです。
    (以前、同じような話を MSDN フォーラムでしたときのスレッド

    2019年2月6日 12:27
  • Azulean さん、
      有用な情報をありがとうございます(Office で UWP のものがあるとは知りませんでした)。

    ほんださん2383 さん、
      お使いの Excel が UWP であるかを確認なさってはいかがでしょう?
      ストアアプリのように表示されたら、UWP です。
      次の記事が参考になると思います。
      Office2016 Microsoft ストア版(UWP版)とパッケージ版の違い

    以上です。


    Ashidacchi -- https://ssl01.rocketnet.jp/hokusosha.com/default.html

    2019年2月6日 22:21
  • COMで呼び出しができるかどうかの確認であれば、Powershellから
    $ExcApp = New-Object -ComObject Excel.Application
    とか実行して、エラーがなければCOMで呼び出せる確認になるのでは?
    呼び出しができない場合は上記コマンドがエラーでかえってくるはずです。
    2019年2月7日 0:26
  • Ashidacchi様

    ありがとうございます。ソフトの名前は、「建設業.NET」というもので製造元は株式会社クリックスです。

    因みに、パソコンは富士通のESPRIMO D588です。

    実はもう1台同じパソコンを購入していまして、同様にインストールしてのですが、やはり同じ症状が発生しています。

    2019年2月8日 1:35
  • ほんださん2383 さん、

    ソフトの情報をお教えいただき、ありがとうございます。

    気になるのは、Azulean がお書きになっているとおり、
      お使いの Office がストアアプリ(UWP)で、
      「建設業.NET」の実行に管理者権限が必要なら、
    ご希望の動作ができない場合があるかもしれない、ということです。

    管理者権限が必要かどうかは㈱クリックスさんの作りに依存するので、ユーザー側では(要望は出せても)手は出せない(改変できない)と思います。

    なので、まずはお使いの Office がストアアプリ(UWP)であるかと確認する必要があろうかと思います。
    確認方法は次の記事をご参照ください。
    Microsoft Office 2016 デスクトップアプリ版とストアアプリ版の見分け方
    (私が使っているのは Office 2016 のデスクトップ版なので、「プログラムと機能」内に見つかりました)

    ご確認ください。

    Ashidacchi -- https://ssl01.rocketnet.jp/hokusosha.com/default.html

    2019年2月8日 2:22

  • ほんださん2383 さん、

    Excel がインストールされているかを判別するソフトを作ってみました。
    元にしたコードは Hebikuzure aka Murachi Akira さんが例示されている URL のものです。
    OneDrive で共有したので、ダウンロード&インストールしてお使いいただければ幸いです。
    Check_If_Excel_Installed_Setup.zip

      小さなソフトで、実行画面は次のとおりです。
      
      
      デスクトップ・アプリの Office 2016 が入っているので、上の結果となりました。
      ストア・アプリ(UWP)の Office は持っていないので、どのような結果になるかは不明です。

    なお、コントロールパネルの「プログラムと機能」でアンインストールできます。

    以上です。

    Ashidacchi -- https://ssl01.rocketnet.jp/hokusosha.com/default.html

    2019年2月8日 3:35
  • Ashidacchi様

    ありがとうございます。早速実行してみました。取り急ぎ結果は、

    ---

    Excel はインストールされています。

    System._ComObject

    ---

    と表示されました。これから、ストアアプリ版なのか、皆さまの投稿を読みながら確認してみます。

    2019年2月8日 5:13
  • Azulean様

    確認しましたところ、ストアアプリ版でした。ありがとうございます。

    2019年2月8日 5:21
  • Ashidacchi様

    ストアアプリ版というものに該当していました。

    デスクトップ版へ変更してみます。

    また、製造元にリモートでインストール作業をしてもらったのですが、その際にはそのような指摘はなかったので、併せて確認しています。

    ありがとうございました。


    2019年2月8日 5:29
  • ほんださん2383 さん、

    拙作ソフトをお試しいただき、また結果をお知らせいただき、ありがとうございました。
    ソフトを直して、デスクトップ版、ストアアプリ版、それぞれに応じた表示にしてみました。
    前のをアンインストールする必要はありません。そのままインストールしてみてください。
    Check_If_Excel_Installed_Setup.zip

    今回の件ではとても勉強になりました。
    こちらこそ、ありがとうございました。

    Ashidacchi -- https://ssl01.rocketnet.jp/hokusosha.com/default.html

    2019年2月8日 5:40
  • Ashidacchi様

    ありがとうございました。

    ---

    Excel(ストアアプリ)がインストールされています。

    ---

    の表示が、ばっちりでました。

    2019年2月8日 6:04
  • 先ほど、オフィス2016のデスクトップ版をインストールしたところ、不具合が解消されました。

    皆さま、本当にありがとうございました。

    2019年2月8日 6:49