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

ASPでExcelを操作するには   ゆみさん [2002/04/18 17:08:57] [2016]
  Re:ASPでExcelを操作するには   Tomitomiさん [2002/04/18 17:13:25] [2018]
  Re:ASPでExcelを操作するには   北岳さん [2002/04/24 15:57:03] [2031]
    Re:ASPでExcelを操作するには   ゆみさん [2002/04/24 18:24:43] [2033]
      Re:ASPでExcelを操作するには   北岳さん [2002/04/25 15:07:15] [2044]

[2016] ASPでExcelを操作するには
投稿者:ゆみさん 2002/04/18 17:08:57
はじめまして。
ASPでExcelシートを操作するにはどうすれば良いのでしょうか?
CeretaeObjectで操作しようとしているのですがうまくいきません。
よろしくお願いします。

[2018] Re:ASPでExcelを操作するには
投稿者:Tomitomiさん 2002/04/18 17:13:25
こんにちは、Tomitomiです。

> ASPでExcelシートを操作するにはどうすれば良いのでしょうか?
> CeretaeObjectで操作しようとしているのですがうまくいきません。
> よろしくお願いします。

どの辺がどのようにうまくいかないのでしょうか?
ヒントになるような質問が最近ありました。とりあえずそこも見てみてください。

ASPを用いた帳票印刷   bbさん

[2031] Re:ASPでExcelを操作するには
投稿者:北岳さん 2002/04/24 15:57:03
雑談風になりますが:
NT4-Server(IIS4) では、
 
[IIS] ASP から EXE形式の ActiveX コンポーネントを起動する( IIS 4.0 )
http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fj044%2F2%2F54%2Easp&LN=JA
 
に従い(EXCELなど一部の)EXE を CreateObjectできたのですが、同じことを WIN98(PWS)と WIN2000-pro(IIS5)で試みたところ、
「別プロセスのコンポーネントは起動できません」というエラーになりました。
WEBで探したところ、PWSでの質問が見つかりましたが解答がありませんでした。
 
ところで仮にEXCEL(=外部プロセス)をCreateObject できても、EXCELにやらせたいことが少し複雑になると、ASPからEXCELを扱うスクリプトは、事実上書けなくなります。
 
CreateObjectはやめにして、「EXCEL にauto_openマクロを置いて、ASPからは単にXLSファイル名を指定するだけでEXCEL を起動させる」方が、自由にEXCELを使えます。
 
この方法では、
(1)起動に際し、
■ASP側:EXCEL.EXEの起動は、私はASPEXEC.dllを使っていますが、BASP21.dllでも行くはずです。
■EXCEL側:ASPから情報を受け取る方法。
 (簡単にはASPで一時ファイルを作成後にEXCELを起動)
 
(2)EXCEL実行中、
■EXCEL側:(エラーを含む)メッセージを出されると、ASPは永久に待ちぼうけになります。
 対話型アプリに対して、何もメッセージを出させない工夫。
 (マクロの徹底デバッグ、Application.DisplayAlerts = False など)
■ASP側:マクロ終了待ちのタイミング取得、
 (終了まで待機してくれるという「同期起動」ができるdll。または簡単に、basp.sleep。)
など、ややこしいことは結構あります。

[2033] Re:ASPでExcelを操作するには
投稿者:ゆみさん 2002/04/24 18:24:43
> 雑談風になりますが:
> NT4-Server(IIS4) では、
>  
> [IIS] ASP から EXE形式の ActiveX コンポーネントを起動する( IIS 4.0 )
> http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fj044%2F2%2F54%2Easp&LN=JA
>  
> に従い(EXCELなど一部の)EXE を CreateObjectできたのですが、同じことを WIN98(PWS)と WIN2000-pro(IIS5)で試みたところ、
> 「別プロセスのコンポーネントは起動できません」というエラーになりました。
> WEBで探したところ、PWSでの質問が見つかりましたが解答がありませんでした。
>  
> ところで仮にEXCEL(=外部プロセス)をCreateObject できても、EXCELにやらせたいことが少し複雑になると、ASPからEXCELを扱うスクリプトは、事実上書けなくなります。
>  
> CreateObjectはやめにして、「EXCEL にauto_openマクロを置いて、ASPからは単にXLSファイル名を指定するだけでEXCEL を起動させる」方が、自由にEXCELを使えます。
>  
> この方法では、
> (1)起動に際し、
> ■ASP側:EXCEL.EXEの起動は、私はASPEXEC.dllを使っていますが、BASP21.dllでも行くはずです。
> ■EXCEL側:ASPから情報を受け取る方法。
>  (簡単にはASPで一時ファイルを作成後にEXCELを起動)
>  
> (2)EXCEL実行中、
> ■EXCEL側:(エラーを含む)メッセージを出されると、ASPは永久に待ちぼうけになります。
>  対話型アプリに対して、何もメッセージを出させない工夫。
>  (マクロの徹底デバッグ、Application.DisplayAlerts = False など)
> ■ASP側:マクロ終了待ちのタイミング取得、
>  (終了まで待機してくれるという「同期起動」ができるdll。または簡単に、basp.sleep。)
> など、ややこしいことは結構あります。

どうもありがとうございます。
CreateObjectで一応できたのですが、動作に不具合が多いので
Excelでマクロを組む方法をしてみます。

[2044] Re:ASPでExcelを操作するには
投稿者:北岳さん 2002/04/25 15:07:15
>ASPでExcelシートを操作するにはどうすれば良いのでしょうか?
>CeretaeObjectで操作しようとしているのですがうまくいきません。
 
>CreateObjectで一応できたのですが、動作に不具合が多いので
>Excelでマクロを組む方法をしてみます。
 
「操作」の内容が判らないので雑談(続き)ですが、ASPの処理内容がどんなに複雑でも、
<結果を単にEXCELの表に書き出すだけなら> (*)、
以下の方法がCreateObjectもマクロも使わずに済み、最も簡単です。
CSV形式で結果を吐き出し、EXCELで開かせます。
まず、
 
<%
Response.buffer = TRUE
Response.ContentType = "application/x-msexcel"
'Response.ContentType = "application/vnd.ms-excel"
%>
 
2通りのどちらか選ぶと、この2行だけでクライアントのブラウザにEXCELの空白シートが立ち上がる筈です。
 
<%
Response.buffer = TRUE
Response.ContentType = "application/x-msexcel"
Response.write "aaa,bbb ccc ddd"
%>
 
bbb ccc dddの間は空白でなく、タブ区切りです。
(自分の環境ではカンマではセルに分かれないですが、タブで分かれました。)
罫線を引いたり文字色を変えたり、となればサーバに EXCEL を立ち上げることになりますが、
(*)の条件なら、サーバのEXCELを立ち上げず、サーバに何も保管せず、これで十分です。



TreeBBS For ASP V.0.1.3
Program By YasNet