ASPでExcelファイルを開く方法とエラー解決方法

このQ&Aのポイント
  • ASPでExcelファイルを開く方法についてWEB検索していますが、エラーが発生しています。Windows XP,IIS,Office 2003の環境での解決方法を教えてください。
  • ASPでExcelファイルを開く方法についての情報を探していますが、エラーが発生しています。Windows XP,IIS,Office 2003の環境での解決策をお教えください。
  • ASPでExcelファイルを開く方法についての情報を探していますが、エラーが出てしまいます。Windows XP,IIS,Office 2003の環境での解決方法を教えていただけますか。
回答を見る
  • ベストアンサー

ASPでExcelファイルを開く場合

ASPでExcelファイルを開く場合WEBでいろいろ検索すると Set ObjExcel = Server.CreateObject("Excel.Application") ObjExcel.Workbooks.Open"****.xls" で開く方法が記載されていたので ためしているのいですが Set ObjExcel = Server.CreateObject("Excel.Application") でエラーが出てしまいます。 解決する方法はありますでしょうか。 環境:Windows XP,IIS,Office 2003 **************************************************** エラー タイプ Server オブジェクト, ASP 0178 (0x80070005) 許可を確認中に Server.CreateObject の呼び出しに失敗しました。このオブジェクトへのアクセスは拒否されます。 *****************************************************

  • obone
  • お礼率51% (111/215)

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

  • ベストアンサー
  • Rel
  • ベストアンサー率70% (7/10)
回答No.1

はじめまして >このオブジェクトへのアクセスは拒否されます。 から推測すると、GAC(Excel)へのアクセス権が無いのでは ないでしょうか? ASPとはASP.NETで良いのでしょうか? (ASPは知りませんので...^^;) ASP.NETであれば、偽装するのが 一番簡単だと思いますが、MSが推奨していないのと ライセンスの問題がありますので、十分理解した上で 実行されるのがよろしいかと思います。 Excel実行時のアカウント推移(恐らくこんな感じでしょうか?)  IISアカウント → ASPアカウント → GAC実行アカウント                     偽装:Web.config内に追加    <identity impersonate="true" userName="****" password="****"/>                         ↑       ↑                サーバー上でExcel実行権限があるユーザー まったくもって、外れていたらすみません。ご容赦くださいませ。

関連するQ&A

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

  • ASPでEXCELを扱うには?

    こんにちは。 ASPでEXCELを起動させたいのですが、 Set objExcel = CreateObject("Excel.Application") ここでエラーが出ます。 ”ActiveX コンポーネントはオブジェクトを作成できません。: 'Excel.Application'” 環境はwindows2000とEXCEL2000です。 最終的には、EXCELの各シートをCSVで保存したいと思っています。 初心者ですがよろしくお願いします。

  • VBScriptで自動リンクONでExcelファイルのOpen

    お世話になっております。VBScriptでExcelの既存ブックファイル をオープンさせるのを見よう見真似で作成したのですが、開こうと しているブックに自動リンクが設定されていて、毎回 「開いているブックには、ほかのファイルへの自動リンク・・・・」 と聞かれ「Y」をクリックしています。 希望としてはYを自動で選択してオープンしてくれたらと思っています。 調べてみてUpdateLinkがTrueとか書けばいいように思っていろいろ 試してみたのですがイマイチうまく行きません。 すいませんが教えてもらえませんか? [Source]------------------------------------------------------- Option Explicit Dim objExcel 'エクセルオブジェクトを作成します Set objExcel = CreateObject("Excel.Application") 'エクセル画面を表示します objExcel.Visible = True 'ワークブックを開きます objExcel.Workbooks.Open "C:\Book1.xls" 'エクセルオブジェクトの破棄 Set objExcel = Nothing

  • 【緊急】ASPでのExcel出力方法について

    いつも参考にさせていただいております。 現在、aspで作成したweb環境を運用しております。 その中で抽出したデータをExcelに出力する処理がありますが、これを以下の方法で行っております。 ==================================== response.buffer = true response.ContentType = "application/vnd.ms-excel" response.AddHeader "content-disposition", "inline; filename=dynamic.xls"  ~ response.flush response.end ==================================== ただ、「Excel2013」であることから、出力されたExcelを開くたびにバージョン不一致の警告(ファイル形式と拡張子が一致しません)が表示されて不便です。 よって、Excel出力をExcelオブジェクトを用いた方法に変更しようと考えております。 ==================================== 'ファイルシステムオブジェクト生成 Set oFs = Server.CreateObject("Scripting.FileSystemObject") 'テンポラリファイル名取得 sFileName = Split(oFs.GetTempName, ".") 'エクセルファイル名にする sXlsName = sFileName(0) & ".xls" 'テンプレートが保存されているフォルダの物理パスを取得 sPath = oFs.GetFolder(Server.MapPath("/hogehoge/")).ParentFolder 'エクセルのオブジェクトを生成 Set oXls = Server.CreateObject("Excel.Application") 'エクセルのテンプレートファイルを開く Set oTmp = oXls.Workbooks.Open(sPath & "\temlate\template.xls")  ~ ==================================== ここからが質問です。 Excelオブジェクト作成時、エラーになってオブジェクトの作成が失敗します。 ==================================== 【オブジェクト作成を「Server.CreateObject」で行った場合】 Set oXls = Server.CreateObject("Excel.Application") ⇒ 以下のエラーが表示されます。   Server オブジェクト エラー 'ASP 0177 : 80080005'   Server.CreateObject に失敗しました 【オブジェクト作成を「CreateObject」で行った場合】 Set oXls = CreateObject("Excel.Application") ⇒ 以下のエラーが表示されます。   Microsoft VBScript 実行時エラー エラー '800a01ad'   ActiveX コンポーネントはオブジェクトを作成できません。: 'Excel.Application' ==================================== いろいろなサイトを情報をもとに対応しましたが、解決の糸口が見えない状況です。 ==================================== 【今まで試みた対応】 (1)コンポーネントサービスの「DCOMの構成」にて、「Microsoft Excel Application」の「起動とアクティブ化のアクセス許可」に「EveryOne」を追加。 (2)以下のフォルダを用意してフォルダのアクセス許可に「EveryOne」を追加。  C:\Windows\System32\config\systemprofile\Desktop  C:\Windows\SysWOW64\config\systemprofile\Desktop (3)オブジェクト作成時、「Excel.Application」を「Excel.Application.15」に変更。 ==================================== なお、開発環境は以下となります。 ==================================== 【開発環境】 OS:windows 8.1 64bit IIS:8.5 Excel:2013 その他:(1)aspを使用(.netではありません)     (2)「windows 8.1」はあくまでテスト環境です。      正常に動作することを確認後、本番環境「Win2008Server R2」に組み込む予定です。 ==================================== 私事ではありますが、スケジュール的に押し迫っております。 お忙しいところ申し訳ありませんが、解決方法のご教授をお願いいたします。 以上です。

  • Accessで空のExcelファイルを出力する方法について

    下記を実行した所、C:\excel.xlsのセルA1に「1」と記述されました。 【ソース】 Private Sub コマンド0_Click() Dim objExcel As Object Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Open FILENAME:="C:\excel.xls" objExcel.Range("A1") = 1 objExcel.Application.ActiveWorkbook.Save objExcel.Application.Quit End Sub しかし、C:\excel.xlsが存在しない状態で実行すると下記のエラーメッセージが表示されました。 【エラーメッセージ】 実行時エラー '1004' 'C:\excel.xls'が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。 上記現象を回避する為には、毎回空のExcelファイルを出力した上でセルに値を書き込めば良いと思いましたが、空のExcelファイルを出力する方法が分かりませんでした。 その為、何かアドバイスをいただける方がいらっしゃいましたら、どうかよろしくお願いします。

  • VistaのIISで動作するASPのExcel処理

    お世話になります。 Windows Vista Business 上のIISで、Excelファイルを読み込む処理を書いたのですが、Excelファイルを読み込む処理でエラーになってしまいます。 下記がソースです。 <% On Error Resume Next fileName = "C:\test.xls" Set objExcel = CreateObject("Excel.Application") objExcel.Visible = False 'ここでエラーが発生する Set objWorkbook = objExcel.Workbooks.Open (fileName) 'この処理で発生したエラーの内容を出力する Response.Write Err.Description & "<br />" Err.Clear objExcel.Quit %> これをWebサーバに保存し、実行すると、ブラウザ上で下記が出力されます(「Response.Write Err.Description & "<br />"」で出力される内容です)。 ------------------------------------------------------------ ファイル 'C:\test.xls' にアクセスできません。次のいずれかの理由が考えられます。 ? ファイル名またはパスが存在しません。 ? ファイルが他のプログラムによって使用されています。 ? 保存しようとしているブックと同じ名前のブックが現在開かれています。 ------------------------------------------------------------ もちろん、ファイルは存在しますし、Excelが起動していない状態でもエラーとなってしまいます。 Windows XPのIISでは、Excelの読み込みができていました。 ここで質問する前にいろいろ調べたのですが、Webサーバ上でExcelを起動すること(WordやExcelをcomオートメーションで起動すること)が、非推奨だったようですね。 そこで、知りたいことは下記の通りです。 1.VistaのIIS上でExcelを起動する術は、もはやないのか(ExcelをWebサーバ上で動作させる非推奨なプログラムを動かせなくした、など)。 2.読み込ませるExcelのファイルに適切な権限を与えればよいのか。 3.IIS7で作成したWebサイトの設定(アプリケーションプールや物理パス資格情報など)を適切な値にすればよいのか。 以上、よろしくお願い致します。

  • 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でExcelシートのコピー、貼付け

    VB6でExcelファイルを開いてシートをコピーし、新規ファイルとして保存したいのですが方法がわかりません。 (既存のExcelシートを雛形として新しくBookを作りたいんです) Set objexcel = CreateObject ("Excel.Application") Set objexcel_new = CreateObject("Excel.Application") objexcel.Workbooks.open (App.Path & "\book1.xls") objexcel_new.Workbooks.Add '新規に作る 'シートのコピー objexcel.sheets("Sheet1").Copy objexcel_new.sheets("Sheet1").Select objexcel_new.activesheet.Paste としても、実行前のクリップボードの中身が貼り付けられるだけで、シートがコピーできません。 よろしくお願いします。

  • IIS7.0での、Excel WorkBooks.Openが失敗します

    IIS7.0での、Excel WorkBooks.Openが失敗します。 IIS7.0でのExcel操作で困っております。 環境  Windows2008Server IIS7.0  ASP(.Netでは無い)  Excel Win2000SVで動作しているWebシステムのリプレースのため、Win2008SVで動作検証中です。 このプログラムは、サーバー上のExcelファイルを開き、このExcelをHTML形式で出力(保存)します。そして出力されたHTMLを画面に表示させます。 Set dObjExcelApp = CreateObject("Excel.Application") dObjExcelApp.WorkBooks.Open Excelファイル名 dObjExcelBook = dObjExcelAppActiveWorkbook   中略 dObjExcelBook.SaveAs HTMLファイル名 これを実行すると WorkBooks.Openがコード:1004、"WorkBooksクラスのOpenメソッドが失敗しました。" で、エラーとなります。 当初CreateObjectが"70"でエラーとなっていたのですが、DCOM構成でアクセス許可を付与することによりエラーを回避しました。 しかし、WorkBooks.Openメソッド実行エラーの原因、対策が分かりません。 (パス不正とかではありません。) 同じコーディングをしたVBプログラムは正常に動作します。 原因、対処方法、または代替案などご存知の方がいらっしゃいましたら、ご教示ください。 宜しくお願いいたします。

  • Excel ファイルに保存すると実行時エラーになる

    こんにちは。宮本と申します。VB6(SP5)で、 プログラミングをしております。 下記の様にプログラミングをしましたが、どうしても [実行時エラー’1004’ test_1.xlsにアクセスできません]と、なります。 c:\test.xls は、元々ある事を前提とし、c:\test_1.xlsに上書きをしたいのです。 宜しくお願い致します。 Dim wApp As Excel.Application Dim wExl As Object Set wApp = CreateObject("Excel.Application") Set wApp = CreateObject("Excel.Application") Set wExl = wApp.Workbooks.Open("c:\test.xls") wExl.Worksheets(1).Cells(1, 1).Value = 3000 wExl.Application.Visible = False wExl.Application.DisplayAlerts = False wExl.SaveAs "c:\test_1.xls" <---ここで、エラー