tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルWorkbooks クラスの Open プロパティを取得できません
記事No10027
投稿日: 2010/03/30(Tue) 19:29
投稿者たけ
OS  :VISAT
IIS :7.0
.net:2005

OS:XP、IIS:6.0、.net:2005で動いているプログラムを
OS:VISTA、IIS:7.0へ移植したら下記のプログラムで
"Workbooks クラスの Open プロパティを取得できません"のエラーとなり
対処方法が分からなくて困っています。

当初はActiveXエラーが出ていましたが、
dcomcnfg⇒Microsoft Excel アプリケーションのプロパティ⇒セキュリティ
⇒Network Serviceユーザの追加等は行いActiveXエラーは出なくなりました。
恐らくIIS6.0⇒IIS7.0が原因ではと思うのですが、設定画面もかなり変わっており
分からない状況です。

原因、対処法等分かる方がいらっしゃいましたらご回答宜しくお願い致します。

 Excel起動時の下記の部分でエラーになります。

  xlApp = CreateObject("Excel.Application")
  xlBooks = xlApp.Workbooks
 ↓ここでエラーになります
  xlBook = xlBooks.Open("Excelパス指定")

[ツリー表示へ]
タイトルRe: Workbooks クラスの Open プロパティを取得できません
記事No10028
投稿日: 2010/03/31(Wed) 09:55
投稿者魔界の仮面弁士
> OS:XP、IIS:6.0、.net:2005で動いているプログラムを
XP の IIS バージョンは 6.0 ではありませんよね。
Webサーバー側が IIS 6.0 で、Webクライアント側が WinXP という事でしょうか?

> OS:VISTA、IIS:7.0へ移植したら下記のプログラムで
こちらも同様で、クライアントが Vista、サーバー側が IIS 7.0 の意味ですか?

> "Workbooks クラスの Open プロパティを取得できません"
メソッドではなく、プロパティとして判断されている…?
CallByName 経由にしても同じメッセージになるのでしょうか。

> 対処方法が分からなくて困っています。
("Excel Services" などの)Web での利用が想定されているライブラリとは異なり、
Excel.Application はクライアント用であり、IIS 上からの利用は保証されていません。
御存知とは思いますが、使用許諾契約上の問題やセキュリティ面など、
多数の問題があることが知られています。
http://support.microsoft.com/kb/257757/ja

> 恐らくIIS6.0⇒IIS7.0が原因ではと思うのですが、設定画面もかなり変わっており
> 分からない状況です。
IIS 7.0 では無く 7.5 の場合ですが、ユーザー偽装の有効で
ローカルユーザー設定とし、さらにアプリケーションプールの
パイプラインモードをClassic にすることで、Workbooks.Open に
成功したとの報告例があります。(手元に環境が無いので検証できていませんが…)

[ツリー表示へ]
タイトルRe^2: Workbooks クラスの Open プロパティを取得できません
記事No10050
投稿日: 2010/04/06(Tue) 14:48
投稿者たけ
魔界の仮面弁士様

返信が遅くなってしまい、申し訳ありません。

> > OS:XP、IIS:6.0、.net:2005で動いているプログラムを
> XP の IIS バージョンは 6.0 ではありませんよね。
> Webサーバー側が IIS 6.0 で、Webクライアント側が WinXP という事でしょうか?
  すみません。クライアント(開発端末)でIISが5.1でした。
 デバック用の端末の為、クライアントのIISを使用して、
 DBのみサーバを見るようにしています。

> > OS:VISTA、IIS:7.0へ移植したら下記のプログラムで
> こちらも同様で、クライアントが Vista、サーバー側が IIS 7.0 の意味ですか?
 クライアント(開発端末)のIISが7.0です。
 サーバー側は6.0です。

> Excel.Application はクライアント用であり、IIS 上からの利用は保証されていません。
> 御存知とは思いますが、使用許諾契約上の問題やセキュリティ面など、
> 多数の問題があることが知られています。
> http://support.microsoft.com/kb/257757/ja
 現在の構成が2003R2サーバでIIS6.0、今後2008サーバでIIS7.0に移植する事に
 なりそうなため、VIATA端末(IIS7.0)を使用してデバックを行い、動作確認を
 行おうと思っていました。
 ほぼ動作はしたのですが、ExcelのOpenだけがうまくいかない状況です。
 元々上記のような保証がない状況や問題もある事は知っていたので、
 これを機に違う方法を取ることも検討した方がいいかもしれません。

> IIS 7.0 では無く 7.5 の場合ですが、ユーザー偽装の有効で
> ローカルユーザー設定とし、さらにアプリケーションプールの
> パイプラインモードをClassic にすることで、Workbooks.Open に
> 成功したとの報告例があります。(手元に環境が無いので検証できていませんが…)
 ありがとうございます。
 試してみます。

[ツリー表示へ]
タイトルRe^3: Workbooks クラスの Open プロパティを取得できません
記事No10051
投稿日: 2010/04/06(Tue) 15:30
投稿者魔界の仮面弁士
> デバック
表記としては、デバッ『グ』の方が一般的かと。<debug

Debug クラスの解説にも「デバッグ」とありますし、
de-bug の bug は、「バグ」と発音する事の方が多いと思います。


>  ほぼ動作はしたのですが、ExcelのOpenだけがうまくいかない状況です。
以下、IIS + Workbooks.Open 絡みの話のようです。

http://social.technet.microsoft.com/Forums/ja-JP/iis7ja/thread/413b6e85-4bae-4e06-a351-e791b82fa64a
http://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/a26876ed-4c79-49d6-bd7b-348f9d52d36c
http://social.msdn.microsoft.com/Forums/ja-JP/vbgeneralja/thread/e3759fbe-5049-4f60-b837-4305e7f2ce97

[ツリー表示へ]