OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

マクロ付きEXCELファイルがASPで操作できない

  • すぐに回答を!
  • 質問No.108584
  • 閲覧数852
  • ありがとう数5
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 50% (1/2)

初めて質問いたします。
ASPとVBAを使い、SQLサーバより取得したデータをサーバのEXCELファイルに挿入し、グラフを作成。
さらにグラフをgif化し、それをクライアントに表示するというシステムを作成したいのですが、EXCEL2000の場合のみマクロ付きのEXCELファイルをopenしたり、マクロを呼び出したりしようとすると、画面がかたまってしまいます。
最初は見えないところで「マクロを有効にする」などのメッセージがでているのかと思い、デジタル署名などを行ってみたのですが、ASPからVBAのマクロを呼び出すことができませんでした。
EXCEL97がはいっているサーバで試したところうまくいったのですが、EXCEL2000の場合のみうまくいきません。
環境は、
サーバ側:Windows2000+IIS5.0+office2000
クライアント側:IE5.0
です。

以下にソースを記します。
http://www.geocities.co.jp/SiliconValley-Cupertino/8836/sample.html

原因及び回避方法がわかる方どうぞ力をお貸しください。よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全2件)

  • 回答No.1
レベル11

ベストアンサー率 49% (139/279)

Excel2000では駄目というのが不思議ですね。 WindowsNT4.0 Workstation+PWS+Office2000なので、再現性がないかもしれませんが、修正しなくても動作しました。 ちょっと気になるのは、VisibleやActivateなのですが・・・原因とは関係ないと思いますが、VisibleやActivateあと、ブックを開くときをReadOnlyにしてみました。 & ...続きを読む
Excel2000では駄目というのが不思議ですね。

WindowsNT4.0 Workstation+PWS+Office2000なので、再現性がないかもしれませんが、修正しなくても動作しました。

ちょっと気になるのは、VisibleやActivateなのですが・・・原因とは関係ないと思いますが、VisibleやActivateあと、ブックを開くときをReadOnlyにしてみました。

<%
On Error Resume Next
Set objExcelApp = CreateObject("Excel.Application")

If Err <> 0 Then
' エラー処理
response.write "Excelを起動できませんでした"
response.write "エラー:" & Err.Description & ""
Else
On Error Resume Next
'確認ダイアログ非表示
objExcelApp.DisplayAlerts = False
'エクセルのオープン
Set objExcelBook = objExcelApp.Workbooks.Open(FileName:="C:\temp\TestBook.xls",ReadOnly:=True)
Set objExcelSheet = objExcelBook.Sheets(1)

'''セルに値の貼り付け
for i=1 to 10
objExcelSheet.Cells(i,1).Value = i
next

'マクロの呼び出し
objExcelApp.Run("Module1.macro1")


'エクセルファイルの保存
objExcelBook.SaveAs "C:\temp\TestBook2.xls"

Set objExcelSheet = Nothing
objExcelBook.Close
Set objExcelBook = Nothing
objExcelApp.Quit
Set objExcelApp = Nothing
Response.Write("作成しました。")
End If
%>

あとは、Excel2000が起動するように意図的にバージョンを指定するぐらいでしょうか。

Set objExcelApp = CreateObject("Excel.Application.9")
お礼コメント
m_road

お礼率 50% (1/2)

さっそくのご回答ありがとうございます。m_roadです。
arataさんに訂正していただいたソースを実行してみたのですが、

Set objExcelBook = objExcelApp.Workbooks.Open(FileName:="C:\temp\TestBook.xls",ReadOnly:=True)

というところで、')'がありません。というようなエラーになってしまったのですが、arataさんのほうは普通に動いていらっしゃるのでしょうか?
投稿日時 - 2001-07-24 17:11:53
  • 回答No.2
レベル11

ベストアンサー率 49% (139/279)

ごめんなさい。VBでの書き方を持ち込んでしまいました。 Set objExcelBook = objExcelApp.Workbooks.Open("C:\temp\TestBook.xls",,True) に変更してください。
ごめんなさい。VBでの書き方を持ち込んでしまいました。

Set objExcelBook = objExcelApp.Workbooks.Open("C:\temp\TestBook.xls",,True)

に変更してください。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ