• 締切済み

asp内に記述したvbsでEXCELを起動したい

こんにちは。 asp内に記述したvbsで、EXCELを起動したいのですが、どうしてもうまくいきません。 <html> <head> <SCRIPT language='VBScript'> <!-- MsgBox "Hello !" With CreateObject("Excel.Application") .Visible = True .Workbooks.Add.ActiveSheet.Range("A1").Value = "Hello !" End With --> </SCRIPT> </head> <body> てすと </body> </html> vbsの部分だけを、asp内記述ではなくvbsファイルで実行すれば問題なくEXCELが起動できます。 また、asp内に記述したメッセージのHello!は出てくるのでプログラムaspのプrグラム自体は動いています。 このことから、間違いはないと思うのですがどうしても起動できません。 どなたか、原因が分かる方はいらっしゃらないでしょうか?

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

ASPと言っていますが、どう見てもクライアントサイドの スクリプトですよね。サーバサイドなら、MsgBoxなんか 絶対に使いません。(誰が応答するの?) クライアントサイドではブラウザのセキュリティ設定で、 ActiveXの生成(文中のCreateObject)は許可されて いないことが多いので、おそらく2行目以下は実行を キャンセルされたのでしょう。 ブラウザの設定で、セキュリティレベルを下げてみると 実行されると思いますが、そんな運用が許可される とは思えません。

spiralmethod
質問者

お礼

紛らわしくてすみません、MSGBOXは動作確認のために入れたもので、実際には使用しません。またこのプログラムも、機能だけをチェックするためにシンプルにしたもので、実際に使用するのとは違います。 セキュリティですか・・・ありがとうございます、もう少し調べてみます。

関連するQ&A

  • htmlに記述されたVB ScriptからExcelを起動しようと思っ

    htmlに記述されたVB ScriptからExcelを起動しようと思っています。 下記のようなソースコードで起動しています。 ところが一部のレンタルサーバでの起動を確認していますが、別の一部のレンタルサーバでエラーが発生してしまいます。 VB Scriptはローカルパソコン上での起動と理解していたため、サーバによって起動しないという点がどうも納得できません。 何か他に原因があるのでしょうか?大変お手数をおかけしますが、判る方いらっしゃいましたらご教授ください。 【エラー】 set xlsApp=createobject("Excel.Application") エラー:ActiveXコンポーネントはオブジェクトを作成できません。:'Excel.Application' 【エラーの発生するサーバ】 ■SIX CORE http://klshare.sixcore.jp/test_list.html ■xserver 【正常動作するサーバ】 ■WADAX ■LINKCLUB(LHX) ■さくらサーバ ■ローカルパソコン 【ソース】(test_list.html) <html> <head> </head> <body> <script Language="vbScript"> set xlsApp=createobject("Excel.Application") with xlsApp .workbooks.open "http://klshare.sixcore.jp/test.xls" .visible=true end with </script> </body> </html>

  • 入力フォームの値をEXCELに出力したい(asp)

    asp(.NETではありません)で、入力フォームを作っています。 そして送信ボタンを押したら、フォームの値をEXCELに出力したいのです。 現在、aspの中にvbsを記述し、ボタンを押したらEXCELを開く・・・ところまでは出来ているのでそこにリストで選択された値を出力したいのですが、どうしても値を渡す事ができません。 <SCRIPT LANGUAGE="VBScript"> <!-- Sub cmdMain_OnClick set objExcel= CreateObject("Excel.Application") objExcel.Visible=True objExcel.Workbooks.Open "C:\sample.xls" End Sub --> </SCRIPT> <html> <head> <title>フォームの入力値を受け取る</title> </head> <body> <form method="post" action="form.asp"> <select name="list"> <option value="test1">テスト1</option> <option value="test2">テスト2</option> <input type="button" name="cmdMain" value="作表"> </form> </body> </html> このあと、どのようにしたらリストの値をEXCELに渡す事ができるのでしょうか。 お力をお貸し下さい、宜しくお願い致します。

  • VBSからのエクセル操作

    エクセルでテキストファイルを開く作業をVBSで自動化したいのですが、下のスクリプトが上手く動作しません。どうすれば上手いこと動くように出来るでしょう? OpenTextのVBS上での使用法がポイントだと思うんですが。 Dim objXL Set objXL = WScript.CreateObject("Excel.Application") objXL.Workbooks.OpenText "hoge.txt", ,1, xlDelimited, xlDoubleQuote, False, False, False, False, False, True, ":", Array(1, 1) objXL.Visible = True

  •  VBSの作り方がわかりません

    下記のようなVBSを使いたいのですが   テキストでなくエクセルをアクティブにしたいのですがうまくいきません   どのように直せばよいのかお教えください。  お願いいたします。 Dim excel With CreateObject("Wscript.Shell") .Run "D:\DATA\T.txt" End With On Error Resume Next Set excel = GetObject(, "Excel.Application") If Err.Number <> 0 Then Set excel = CreateObject("Excel.Application") End If excel.Visible = True excel.Workbooks.Open "D:\DATA\Sin1.xls"

  • ASPでエクセルの起動

    わかる方教えて下さい。 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等はセットアップ済)それがいけないのでしょうか? お願い致します。

  • VBSからのエクセル起動について

    マクロを含んだBook(自作したもの)の起動時、起動直後の「セキュリティの警告画面」を、マクロセキュリティ中の状態で、表示させないで起動するためにVBSからの起動起動を考えています。いくつかウィンドウを開いた状態で、下記のコードにてBookを開くと、最前面に表示表示してくれません。対処方を教えてください。 Option Explicit Dim objExcelApp, strPath Const BookName = "Book1.xls" Set objExcelApp = CreateObject("Excel.Application") With WScript strPath = Replace(.ScriptFullName, .ScriptName, "") End With objExcelApp.Workbooks.Open strPath & BookName, False, False Set objExcelApp = Nothing *VBSはまだ勉強不足で、なんとなくこのコードの意味も解る程度です。VBAに関しては、一通り基本的なことはできます。よければ、このコードの詳しい意味も教えてください。また、他の対処法があれば教えてください。よろしくお願いします。

  • VBscriptでEXCELを起動

    今、非常に悩んでいる問題があります。 VBscriptでEXCELを起動したいのですがうまく行きません。 (Web画面であるボタンを押下すると、Webサーバ上のEXCELが開くというものです) プログラム的には (1) Dim excel Set excel = GetObject("", "Excel.Application") excel.Visible = True excel.Workbooks.Open "http://ホスト名/フォルダ名/ファイル名.xls" Set WK_excel = Nothing (2) Dim excel Set excel = CreateObject("Excel.Application") excel.Visible = True excel.Workbooks.Open "http://ホスト名/フォルダ名/ファイル名.xls" Set WK_excel = Nothing の二通り(他いろいろ)を試したのですが、何もおきずに終了します。 同じことをVB6.0でするとうまく行くのですが・・・ はっきり言うとVBscriptに関して知識がなく 質問内容も説明が分かりにくいかもしれませんが よろしくお願いいたします。

  • ASPでエクセル書き込み

    ASPでサーバのエクセル(a.xls)に書き込み後保存テストしています。 エラー表示はされないのですが、 エクセルが更新されません。 どこに原因があるかお教え下さい。 (クライアントの画面に”作成”は表示されます) Prog <%@ LANGUAGE = VBSCRIPT %> <html> <body> <% 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("C:\Inetpub\wwwroot\test2\a.xls",,True) Set objExcelSheet = objExcelBook.Sheets(1) Set Sheet = Book.Worksheets(1) Sheet.Range("B5").Value = "Hello!" objExcelBook.Save Set objExcelSheet = Nothing objExcelBook.Close Set objExcelBook = Nothing objExcelApp.Quit Set objExcelApp = Nothing Response.Write("作成。") End If %> </body> </html> 環境 Windows XP,IIS,ASP,vbscript

  • VBScript 先頭行の固定

    VBScript Script ファイル (.vbs)を書き出して、エクセル表の加工をしようとしています。 Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Open("~~~ ・ ・ ・ 先頭行を固定したく、下記のようにしましたがエラーになります。 objWorksheet.Range("A2").Select objWorksheet.ActiveWindow.FreezePanes = True また、データーのある最下行+2にデーターの合計を入れるように、追加コードを記述したいのですが、どのようにするのでしょうか?

  • JavaScriptで開いたエクセルが閉じない

    題名は25文字しか入力できないので、題名と本文が不適当ですが・・・ htmlのソースにVBScriptとJavaScriptを用いて以下の事をやらせようとしました。 (1)VBScriptで、既存のエクセルファイルを開く (2)JavaScriptで、先に開いたエクセルファイルのセルを参照して値を表示させる (3)VBScriptで、開いているエクセルファイルを閉じる ソースは以下のように書きました。 <html> <head> <title>TEST</title> </head> <body> <script language="VBScript"> Dim app Dim book Dim sheet Set app = CreateObject("Excel.Application") app.Visible = false Set book = app.Workbooks.Open("○△□.xlsx")  Set sheet = book.Worksheets("Sheet1") </script> <script language="JavaScript"> document.write (sheet.Cells(1,2)); document.write (sheet.Cells(2,2)); </script> <script language="VBScript"> book.Close() app.Quit() Set sheet = Nothing Set book = Nothing Set app = Nothing </script> </body> </html> これをIEで開くと、正しくセルの値を表示させることはできました。しかし、更新をかけると、メモリにエクセルが居座ってしまい、タスクマネージャーのプロセスを見ると、「EXCEL.EXE」が更新のたびに増えてしまいました。 マイクロソフトのサポート(http://support.microsoft.com/kb/266088/ja)によると、Javascriptからエクセルを開くとこのような症状が出ると書いてありますが、VBScriptで開いたエクセルをJavascriptで参照しても同じことなのでしょうか? また当方、先のサポートページの内容を正しく理解できておらず、この問題を解決できておりません。どなたかアドバイスいただけたらと思います。

専門家に質問してみよう