出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

ASPでExcelを編集して保存する場合   夏目さん [2003/12/07 23:10:43] [3853]
  Re:ASPでExcelを編集して保存する場合   fujiさん [2003/12/08 11:45:16] [3854]
    Re:ASPでExcelを編集して保存する場合   夏目さん [2003/12/08 17:09:58] [3856]

[3853] ASPでExcelを編集して保存する場合
投稿者:夏目さん 2003/12/07 23:10:43
夏目と申します。いつも拝見されていただいています。

ワークフローを作っています。
[登録]ボタンをクリックすると、
@Webサーバー上のExcelブックを開く
Aあるセルに承認者のDate印を押す(描画オブジェクトで書きます)
BExcelブックを上書き保存して閉じる
C別サーバーのあるフォルダへExcelブックを移動する
という、流れでつくろうと思っています。

質問ですが、

@Server.CreateObject("Excel.Application")
を実行するためには、
WebサーバーにExcelが入っていなければだめですよね。
Excelなしで実行したら"ProgID..."というエラーが出ました。
Excelを入れたら動きましたが、
間違ったことをしていないかどうか、心配です。
(Excelはクライアントアプリケーションだ
という認識が強いものですから)

A複数の人が同時に、別々のExcelブックを開いた場合、
誰かがQuitしたときに、
ほかのブックも閉じられてしまうと思うのですが、
Quitする前に、開いているブックの数を調べ、0ならQuitを実行する
という処理が必要ですか。

デスクトップで、複数のExcelを立ち上げていて、
閉じるボタンをクリックしたときに、
いっしょに閉じられてしまって、悔やんだことが何度もあります。
(確認メッセージは出ますが、'NO'を押してしまったとき)

ASPをはじめたのは、ごく最近です。
あたりまえの事を聞くと思われるかもしれませんが、
よろしく、ご教授ください。


[3854] Re:ASPでExcelを編集して保存する場合
投稿者:fujiさん 2003/12/08 11:45:16
こんにちは夏目さん。

@は間違ってないですよ。
サーバー内部でエクセルを起動するので、
サーバーにエクセルがインストールされてないと
ソフトが見つかりませ〜んってなります。

Aですが、CreateObjectするごとにエクセルは起動するので
他のブックを閉じることはないですよ。
ただ、1回のCreateObjectで開いたブックはすべて閉じますが。
これは、デスクトップでスタートメニューからエクセルを
2回起動して、1つのエクセルを閉じた場合は、
そのエクセルで開いていたブックは閉じますが、
もう一つのエクセルで開いているブックは閉じないのと同じです。

もし、エクセルの処理が時間のかかる処理なら、
サーバーマシンのタスクマネージャのプロセスタブを開くと、EXCEL.EXEが複数立ち上がってくるのが確認できますよ。


私もASPは初心者レベル(3ヶ月ぐらい)で人に教えることなんて
本当はしてはいけない(できない)ですが。。。(汗)
ちょっとでもお役に立てればと、書き込みさせていただきました。

[3856] Re:ASPでExcelを編集して保存する場合
投稿者:夏目さん 2003/12/08 17:09:58
fujiさん、こんばんは。
わかりやすい回答、ありがとうございます。助かりました。
これで、不安なく、次へ進めます。

会社の情報システム部からは、
こういう使い方(Excelをサーバーへインストールする)は、
推奨しない(やめてくれ)といわれてしまいました。
Logを見ても、一般的な方法のようですし、
この方法で進めようと思います。

私は、ASPはじめて、1ヶ月くらいです。
HTMLもあまり知りませんので、
サンプルコードを見ながら、見よう見真似で作っています。

今後とも、よろしくお願いいたします。



TreeBBS For ASP V.0.1.3
Program By YasNet