• ベストアンサー

IEからクライアントのEXCELのオブジェクトを生成できない

いつもお世話になっております。 現在、HTML内に以下ソースを記述しクライアント側の EXCELオブジェクトを取得しようとしています。 がしかし、エラー(429 ActiveXコンポーネントはオブジェクトを生成できません)がでます。 このソースをVBSファイルにして実行するとちゃんと EXCELが生成されるので、ロジックに問題はないようにおもえます。 どなたか心当りのある方、ご助言宜しくお願い致します。 *****ソース開始******** <body> <script language="VBScript"> Sub Window_OnLoad() Dim objExcelApp Dim objExcelBook On Error Resume Next Set objExcelApp = CreateObject("Excel.Application")←この時点でエラーがでる。  Set objExcelBook = objExcelApp.Workbooks.Open("http://localhost/aaaa/asptst/excelwork.xls", , True)←このEXCELマクロを実行したい *****ソース終了********

質問者が選んだベストアンサー

  • ベストアンサー
  • sam_inoue
  • ベストアンサー率47% (27/57)
回答No.2

下記URLのページの一番下にこの説明がありますが、 IEのセキュリティでクライアントスクリプトの許可を 行なって下さい。 但し、インターネットゾーンで許可するのは大変危険ですので、 「信頼済みサイト」または「イントラネット」としてから 設定を行なって下さい。

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/download/sub09_020_120.html

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

セキュリティで、ActiveXの初期化・実行に許可がないのではないですか

関連するQ&A

  • VBSにてサーバー中のエクセルファイルを開いて閉じるだけの処理を行った

    VBSにてサーバー中のエクセルファイルを開いて閉じるだけの処理を行ったところクライアントでのテストは上手くいくのですが、サーバーに移植すると下記問題点が発生し解決できません。お教え下さい・ 1)サーバーで直接IEで開くと"検索中のページには問題があるため表示できません。"になる 2)クライアント側のIEで開くと"Microsoft VBScript 実行時エラー エラー '800a0046' ",書き込みできません。: 'CreateObject'になる 環境 サーバーwindows 2003 server クライアント windwos XP いずれもIIS ・クライアントPCのIIS環境に移植しクライアントPCのIEで開くと正常動作 プログラム <%@ 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:\Temp\2010.xls",,True) Set objExcelSheet = objExcelBook.Sheets(1) Set objExcelSheet = Nothing objExcelBook.Close Set objExcelBook = Nothing objExcelApp.Quit Set objExcelApp = Nothing End If %> </body> </html>

  • 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

  • VB6.0上でExcelオブジェクトを生成

    質問です。 VB6.0上でExcelオブジェクトの生成についてです。 その1 Dim xlApp As Excel.Application … Set xlApp = CreateObject("Excel.Application") と その2 Dim xlApp As Object … Set xlApp = CreateObject("Excel.Application") と、どちらが良いのでしょうか? 開発環境は Win XP SP2 VB 6.0 Excel 2003 実行環境は Win 98 SE VB 6.0(ランタイムのみ) Excel 2000 SR-1 です。 開発環境ではその1、その2ともOKなのですが、 実行環境ではその2のみがOKです。 参考書にはその1が書かれていますが、その2を使うことによって何か不具合や都合の悪いことが起こりうるのでしょうか? あるいは当方の見当違いで根本的に何かが間違っているのでしょうか? どんな些細なことでも結構ですので宜しくお願いします。

  • Excelオブジェクトの解放

    VBでExcelを編集しています。 下記コードを実行するとExcelがタスクに残ったままになります。 どうしたら解放されるでしょうか。 (処理は少し省略しています) Dim objExcel as Object Dim objExcelBook as Object Dim objExcelSheet as Object Set objExcel = CreateObject("excel.application") Set objExcelBook = objExcel.Workbooks.Open(パス, 0) Set objExcelSheet = objExcelBook .Sheets(シート名) With objExcelSheet.Range(Cells(1,2),Cells(3,2)).Borders(xlEgeBottom) .LineStyle = xlContinuous End With Set objExcelSheet = Nothing Set objExcelBook = Nothing Set objExcel = Nothing

  • エクセルvba

    エクセルvbaなのですが Sub test() Dim xlApp As Object Dim xlBook As Object Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(ActiveWorkbook.FullName) 'コード・・・ Set xlApp = Nothing Set xlBook = Nothing End Sub これだと Set xlBook = xlApp.Workbooks.Open(ActiveWorkbook.FullName) の部分で、エラーになります。 実行時エラー1004です。 自身ファイルをオブジェクトに格納して操作したいのですがどうすればいいでしょうか?

  • VB6.0上でExcelオブジェクトを生成

    VB6.0上でExcelオブジェクトの生成についてです。 その1 Dim xlApp As New Excel.Application Dim xlBook As New Excel.Workbook Dim xlSheet As New Excel.Worksheet Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) と その2 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add Set xlSheet = xlBook.Worksheets(1) と、どちらが良いのでしょうか? 開発環境は  Windows2000  VB 6.0  Excel 2003 です。

  • WSH(Excel出力)の同時実行数の制限

    WSHでExcel出力処理を行っているのですが、 同時実行数が30を超えると、Excelが不安定になるようで、  Set objBook = objExcelApp.Workbooks.Open("C:\xxx\zzz.xls", 0, False) の行で、  エラー:WorkbooksクラスのOpenプロパティを取得できません。  コード:800A03EC  ソース: Microsost Office Excel というエラーが発生して異常終了してしまうのです。 同時実行数の上限など、また、それ以外の原因について、 ご存知の方がいらっしゃいましたら、コメント頂ければ幸いです。 ちなみに、同時実行数が30未満の場合は、正常終了するので、 コードの内容には、問題ないと思っております。 Excelのバージョンは、2003で、ファイルの構成は、 wsfファイル(yyy.wsf) vbsファイル(wsh_excel.vbs)の2ファイルを配置し、 以下のような形で、実行しています。 Set WshShell = Server.CreateObject("WScript.Shell") Set objBatch = WshShell.Exec(strCmd)  ※ strCmdには、以下のような値が設定されます。     cmd.exe wscript.exe "C:\xxx\yyy.wsf" ■ yyy.wsfの内容 <?xml version="1.0" encoding="shift_jis" ?> <job id="zzz"> <script language="VBScript" src="wsh_excel.vbs"/> <script language="VBScript">  Call Excel_Main() </script> </job> ■ wsh_excel.vbsの内容(抜粋) Sub Excel_Main()  Set objExcelApp = Wscript.CreateObject("Excel.Application")  Set objBook = objExcelApp.Workbooks.Open("C:\xxx\zzz.xls", 0, False)     :     : End Sub

  • ACCESS2013のVBAで、EXCELを操作

    ご質問させて頂きます。 ACCESS2013のVBAで、EXCELを操作するために 下記のようにしています。 ------- Dim oApp As Object Dim oWkb As Object Dim oWks As Object Dim Rw As Integer Dim SQL As String Set oApp = CreateObject("Excel.Application") oApp.Visible = True oApp.DisplayAlerts = Flase '確認メッセージの非表示 ↓↓↓オートメーションエラー Set oWkb = oApp.Workbooks.Open(CurrentProject.Path & "\ひながた.xls") ------- 上記のところでオートメーションエラーになってしまいます。 しかし私の端末ではエラーは出ません。 問題と思われるのは エラーが出る人の端末は、 EXCELが2010と2013と 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で参照しても同じことなのでしょうか? また当方、先のサポートページの内容を正しく理解できておらず、この問題を解決できておりません。どなたかアドバイスいただけたらと思います。

  • VBscriptからIE11起動

    windows7(x64) IE11 IEを起動するスクリプトを.vbs作成しました。 vbsファイルをダブルクリックすると、↓エラーが発生するときがあります。 「 WScript.CreateObject: "InternetExplorer.Application" というオブジェクトを作成 できませんでした。」 ↓SRCです。 Dim IE Set IE = WScript.CreateObject("InternetExplorer.Application", "Event_") IE.Visible = True IE.Navigate ("http://www.yahoo.co.jp") set IE = nothing 数秒待ったり、vbsを連打すると起動します。 プロパティ(vbs右クリック)のスクリプトタブで実行時間を10秒にしてみても起動できないことがあります。 オブジェクトを作成しない方法はありますか? また、失敗している原因はなんでしょう?