- ベストアンサー
IIS7.0でのExcel WorkBooks.Openが失敗する問題
- Win2008SVでのExcel操作で困っています。Excel WorkBooks.Openが失敗する問題が発生しています。
- CreateObjectがエラーとなる問題はDCOM構成で解決しましたが、WorkBooks.Openメソッドの実行エラーの原因や対処方法がわかりません。
- VBプログラムでは同じコーディングで正常に動作していますが、ASPでの実行時にエラーが発生しています。原因や代替案についてご教示いただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
windows 2008 server standard R2 + iis7.0 + php5.3 + excel2010 の環境で私も同様な現象に悩まされました。 phpからcomとしてexcelは起動しますが、workbooksのopenメソッドでファイルが見つからない、と失敗します。(2003server+iis6+php4+excel2000で問題なし) 私は下記の対応で動きましたので、まだお試しでなければご確認下さい。 1.dcomでexcel.applicationを開きます。 2.IDタブで「起動したユーザー」から「このユーザー」に変え、admin権限を持つユーザーを指定します。(ユーザーはadmin権限を持つユーザーを新規に作成した方が良いと思います)
その他の回答 (2)
3rd パーティ製品はこんなのがあります。私は .NET 版しか使った事ないですが。。。 http://www.adv.co.jp/products/product_ExcelCreator3.htm 上記ページを見ると .NET 版に同梱されているそうなのでそちらを買った方がよいかもしれません。ただその部分のプログラムは大きく組直す事になると思います。
お礼
edp3142さん、早速のご紹介ありがとうございます。 ExcelCreator・・・VB5の時代、使ってました! .NET版もあるんですね。 今回は改修範囲を見積もるのが目的なので、この部分を改修するならするで 工数とソフトの費用を見積もらなければいけないので、目的の動きが可能か調べます。 今回の問題は権限が原因っぽいので、もうすこし調べてみます。
ここが参考になるでしょうか。 http://support.microsoft.com/kb/257757/ja とりあえず、Open するファイルのアクセス権が ASP の実行アカウントに割り当てられていますか。 蛇足ながら、上記 URL に記載があるとおり、Office がインストールされていないクライアント PC からこの ASP 機能を利用すると、ライセンス違反になります。 ベストな代替案は 3rd パーティのツールを使う事でしょう。
お礼
edp3142さん。こんばんわ。 返事が遅くなり、申し訳ありません。 会社では、掲示板への書き込みが禁止されているので。 ファイルのアクセス権を確認しましたが、フルアクセスに設定しています。 (Windows2008を触るのが初めてなので、他に設定する箇所が無ければ) ライセンスの問題は把握しています。 Officeがインストールされているクライアントが前提としているようです。 といってもプログラムでチェックしていませんが。 ただ、監査がうるさいので顧客側もそれは遵守しているかと思います。 他にもお気づきの点がございましたら、ご指南ください。 3rd パーティのツールも何か良いのがあれば、ご教示ください。
お礼
svalterfさん。こんばんわ。 ご回答ありがとうございます。 実は今日、ファイルアクセス権限では無くて、実行権限(ユーザ)か?と思い DCOM構成を再度見直していて、この方法を試してみたところです。 一応動いたけれど、合ってるのかなぁ????? と思って帰宅したところなので、ご回答を見て安心しました。 先週末から悩んでいましたが、やっと解決しました。 社内でも経験者がおらず、ネットでの調べ方も悪かったのか、中々情報が無くて苦労しました。 ありがとうございました。