- PR -

ノータッチ・デプロイメントによるExcel出力

投稿者投稿内容
NAO
会議室デビュー日: 2004/02/13
投稿数: 10
投稿日時: 2004-02-13 16:02
ノータッチ・デプロイメント環境で現在開発を行っています。
開発環境ではExcel出力することが可能なのですが、
クライアント側で出力しようとすると、エラーが発生します。
「Excel SaveAsメソッドが存在しません」というエラーメッセージです。

開発環境
OS:Win2000 VB.NET2003
参照設定では、「Microsoft Excel9.0 Object Library」を選択しています。

クライアントの対象はWin2000とXPを想定してます。
2000とXPで正常に動作できるでしょうか?

また、エラーの原因をご存知の方がいらっしゃいましたら、
是非教えて下さい。
よろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-13 16:09
引用:

NAOさんの書き込み (2004-02-13 16:02) より:

また、エラーの原因をご存知の方がいらっしゃいましたら、
是非教えて下さい。


 セキュリティです。ポリシーツールで保存を許すように設定します。

#####
ん?投稿数1??
NAO
会議室デビュー日: 2004/02/13
投稿数: 10
投稿日時: 2004-02-13 16:24
回答ありがとうございます。
クライアント側のランタイムセキュリティポリシーで

「URL」→「http://192.168.1.11/ntd/*」
アクセス許可→「FullTrust」

に設定しているのですが、Excel出力がうまくいきません。
DBアクセスなどはうまくいってるんです。
他にセキュリティの設定が必要でしょうか?

小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2004-02-13 16:59
> 参照設定では、「Microsoft Excel9.0 Object Library」を選択しています。

Excelのバージョンがはいってしまっていますから、2000とXPでは、、、って
ちがうや、この2000とXPはWindowsのバージョンだ。
Excelのバージョンはどのクライアントも同じですか?

> 「Excel SaveAsメソッドが存在しません」というエラーメッセージです。

んー、メソッドが存在しません、というメッセージを見る限りでは
アクセス権の関係ではなさそうだけど。。。
一応、保存しようとしているフォルダのアクセス権はどうなっているかも
確認しておいたほうがいいかもしれませんね。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-13 17:10
引用:

小野@どっとねっとふぁんさんの書き込み (2004-02-13 16:59) より:

> 「Excel SaveAsメソッドが存在しません」というエラーメッセージです。

んー、メソッドが存在しません、というメッセージを見る限りでは
アクセス権の関係ではなさそうだけど。。。


 ん〜、確かに。ノータッチでセーブできない、から短絡的に考えてしまった。

 SaveAsはWorkBookのメソッドなので、もしかしてExcelApplicationのインスタンスから指定しようとしているとか?
おさるさん
常連さん
会議室デビュー日: 2004/01/05
投稿数: 24
投稿日時: 2004-02-13 18:02
引用:

クライアント側で出力しようとすると、エラーが発生します。
「Excel SaveAsメソッドが存在しません」というエラーメッセージです。

開発環境
OS:Win2000 VB.NET2003
参照設定では、「Microsoft Excel9.0 Object Library」を選択しています。




Microsoft Excel9.0 Object LibraryはExcelがインストールされているPC
でしか動作しない筈ですよ。

NAO
会議室デビュー日: 2004/02/13
投稿数: 10
投稿日時: 2004-02-13 18:23
回答ありがとうございます。

引用:
--------------------------------------------------------------------------------

Microsoft Excel9.0 Object LibraryはExcelがインストールされているPC
でしか動作しない筈ですよ。
--------------------------------------------------------------------------------

Excel9.0 Object Libraryの環境で動かしてみたら、うまく動作しました。
Excel9.0 Object Library以上(10.0)がインストールされているPCではうまく
いきませんでした。
バージョンが低い分には分かる気がするのですが、
バージョンが高い方でも動かないんでしょうか?

これだと、クライアント側の制限が増えてしまいますね。
大変助かりました。
どうもありがとうございます。
また、分からないことがあったら教えてください。
よろしくお願いします。
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2004-02-13 19:17
バージョンは「固定」だと思えばいいです。
固定させずに複数のバージョンで利用できるようにするためには、
レイトバインディングと呼ばれるような方法を利用します。

VB.NETの場合はこんな感じ。
http://support.microsoft.com/default.aspx?scid=kb;JA;304661

#C#のリフレクションよりはよっぽど見やすいな。

スキルアップ/キャリアアップ(JOB@IT)