プロが教える店舗&オフィスのセキュリティ対策術

わかる方教えて下さい。
Set xlsApp=server.CreateObjec("Excel.Application")
Set xlsBook =xlsApp.Workbooks.Add
Set xlsSheet = xlsBook.Sheets.Add
xlsBook.Application.Visible = True

でASPからエクセルを起動したいと思いましたが、

『Server オブジェクト, ASP 0178 (0x80070005)
許可を確認中に Server.CreateObject の呼び出しに失敗しました。このオブジェクトへのアクセスは拒否されます。』 というエラーでエクセルが起動しません。

構文が悪いのでしょうか?
それともサーバー側で何か設定しなくてはいけないのでしょうか?
但しサーバーと言ってもWin2000 Professional のOsクライアントですが(当然IIS等はセットアップ済)それがいけないのでしょうか?

お願い致します。

A 回答 (7件)

    • good
    • 0
この回答へのお礼

参考URL有難う御座いました。
なんとなく解りましたが・・・

お礼日時:2004/11/09 09:25

> xlsBook.Application.Visible = True


表示できませんけど..

何がやりたいのでしょうか?
    • good
    • 0
この回答へのお礼

ASPでエクセルを起動して任意のセルにデータを書く処理をしたいのですが、エクセルが立ち上がらないのです。
どのように立ち上げるのかが知りたいです。

お礼日時:2004/11/09 09:36

>なんとなく解りましたが・・・



ようは使うなってことです。

まぁ、エラーが発生している直接の原因はこちらなんですけどね。
http://support.microsoft.com/default.aspx?scid=k …
    • good
    • 0
この回答へのお礼

やっぱりそうでしたか。
どうもでした

お礼日時:2004/11/09 16:33

Set xlsApp=server.CreateObjec("Excel.Application")



Set xlsApp=CreateObjec("Excel.Application")
としてみてはどうでしょうか?

ほかの方がアドバイスしているように、なるべくASPからエクセルを起動するようなことはさけた方が賢明です。

この回答への補足

最初は
Set xlsApp=CreateObjec("Excel.Application")
でやってみましたけどダメでした。

補足日時:2004/11/09 17:42
    • good
    • 0

ADOを使うとか。


Excelクリエータを使うとか。
CSVを吐くとか。
tableタグを吐くとか。
Excel XMLを吐くとか。
Excel側でWeb経由でデータを受け取るとか。(スマートクライアント)

http://oshiete1.goo.ne.jp/kotaeru.php3?q=546611
http://oshiete1.goo.ne.jp/kotaeru.php3?q=916456
    • good
    • 0

参考URLは確認されたでしょうか?


自分の環境(NT4.0)では、これでできたような記憶があります。(はっきり覚えていなくてすみません。)

参考URL:http://support.microsoft.com/kb/q192152/
    • good
    • 0
この回答へのお礼

アドバイス有難う御座いました。
みなさんが言っている様に、サーバーサイトでのエクセル起動はやめて、クライアントサイトで頑張ってみます。

お礼日時:2004/11/10 10:07

>少しずつ解ってきましたがまだまだです。


>この手で頑張ってみます。
>わがままなお願いですがもっと簡単な方法があったら>教えて下さい。
クライアントスクリプトが難しいなら、
1.EXCELブックはAuto_Open等立ち上げマクロでURL上のCSVデータをDLしシートに展開するマクロを作成
2.サーバサイドにそのマクロを持つEXCELブックを置く
3.サーバサイドで抽出データをURL参照できる所にCSV出力
4.HTML(BODY)内にEXCELブックのリンクを作成

この方法ならクライアント側のスクリプトは不要ですが
CSVデータのファイル名は固定しなければならず、
複数の要求が衝突する場合に制御できません。
下記URLの方法を応用すれば、
クライアントスクリプトでExcel側にCSVデータのURLを
動的に通知できるので、サーバ側では日時やSessionIDなどを
からめたファイル名を付けて衝突を避けられます。

同様に、CreateObjectでExcelをサーバサイドで
ハンドリングする場合、Excelは別インスタンスでも
同一ブック名のファイルを複数開くことはできません。
また、この手でエラーが起きると、
プロセスにExcelが居残ります。
この点でもサーバサイドでExcelを扱うのはお勧めできません。
    • good
    • 0
この回答へのお礼

出来ました!!!
色々有難う御座いました。

お礼日時:2004/11/10 16:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!