IIS7.5でExcelファイルを開けないエラーについて

このQ&Aのポイント
  • IIS7.5でExcelファイルを開く際にエラーが発生しています。
  • 現在、WindowsServer2003、IIS6.0、Excel2003で動作しているaspのプログラムを、WindowsServer2008 R2、IIS7.5に移行しています。
  • 登録等の動作は問題なく稼動していますが、Excelファイルの出力で『Workbooks クラスの Open プロパティを取得できません。』というエラーが出力され、Exelファイルへの出力ができません。Excel2003/2010で同様のエラーが発生しています。
回答を見る
  • ベストアンサー

IIS7.5 Excel ファイルオープンエラー

■現状 現在、WindowsServer2003、IIS6.0、Excel2003でaspのプログラムを、WindowsServer2008 R2、IIS7.5に移行しているのですが、 登録等の動作は問題なく稼動しているのですが、Excelファイルの出力で 『Workbooks クラスの Open プロパティを取得できません。』 とエラーが出力され、Exelファイルへの出力ができません。Excel2003/2010ともに同じです。 insXlsApp = Server.CreateObject("Excel.Application") insXlsBooks = insXlsApp.Workbooks insXlsBook = insXlsBooks.Open(strPAth & "blank.xls") Openのところでエラーになります。 ■環境 WindowsServer2008 R2 IIS7.5 ASP.NET2.0 Excel2003/2010 ■設定 web.config ・<identity impersonate="true"/> IISのアプリケーションループの設定では、 ・32bit → 有効 ・マネージパイプラインモード →クラシック ・プロセスID → ApplicationPoolIdentity DCOM設定 ・Microsoft Excel Applicationのプロパティで「セキュリティ」→「起動とアクティブ化のアクセス許可」→「カスタマイズ」で  IUSERに権限を付与。  ※「ID」タブを選択し、ユーザーから「このユーザー」を選択、実行したときに与える権限を持つユーザーとパスワードを入力してもダメでした。 フォルダ ・エクセルが保存されているフォルダに、IUSER,administrator,EvereOneにフル権限を与えてみてもダメでした。 このやり方は非推奨なのは知っていますが、サーバー、クライアント全てにエクセルは入っています。 サードパーティ等他のやり方が良いのは重々承知の上で質問しています。 色々調べ試してみましたが上手くいきません。 どなたかお知恵を貸してください。よろしくお願いいたします。

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

  • ベストアンサー
  • onos
  • ベストアンサー率81% (127/155)
回答No.1

Openでエラーということで気になるのは実行しているアカウントに対話型のユーザーインタフェースの利用が許可されていない、あたりかと思います。 #確かそんなような名前の許可だったかと。 IIS 7.5の実行時のユーザーはデフォルトだと様々な制限を受けているアカウントなので、そのあたりの制限がひっかかっているかと思います。 デフォルトの制限項目を変更するのは確か難しかったと思うので、アカウントの偽装で回避するのがいいのかなぁ。。。

new_se0101
質問者

お礼

ご回答ありがとうございます。 IISの認証でASPの偽装を特定のユーザーに変更し、administrator、パスワードを設定してみましたが上手くいきませんでした。。。 私の勉強不足で大変お恥ずかしいですが、アカウントの偽装の仕方は上記のやり方であってますか? お手数ですが、もし教えていただけるなら大変助かります。 火曜日から色々試してはいるのですが・・・宜しくお願いします。

その他の回答 (2)

noname#259269
noname#259269
回答No.3

No.1さんが指摘されていますが、アプリケーションプールに、ユーザプロファイルの読み込みとか言う設定があるので Trueに。 あと、以下のフォルダを作成。 C:\Windows\System32\config\systemprofile\Desktop\ (参考) http://sorceryforce.net/WordPress/?p=178 でどうでしょうか。

  • onos
  • ベストアンサー率81% (127/155)
回答No.2

あ、ASP.NETではなくASPなんですね。 となると実行ユーザーはどうなってるのかなぁ。。。 IIS7以上の場合、アプリケーションプールのユーザーとかもかかわってくるので。 こんな情報ヒントになるかなぁ。。。 http://d.hatena.ne.jp/Yamaki/searchdiary?word=%A5%A2%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%A5%D7%A1%BC%A5%EB&type=detail

new_se0101
質問者

お礼

ありがとうございます。 すみません書きもれです、ASP.NETです。 教えていただいたサイトを見て、今日も試してみます。

関連するQ&A

  • 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プログラムは正常に動作します。 原因、対処方法、または代替案などご存知の方がいらっしゃいましたら、ご教示ください。 宜しくお願いいたします。

  • IISが応答しなくなる

    お世話になります。 IIS6.0(WindowsServer2003)上でASPアプリケーションを 動かしています。(社内LAN) 設定などの変更もしていないのに、突然 「サーバーがダウンしているかメンテナンス中です(英文)」となり、 アクセス不可になってしまいます。 なお、この表示はIISが表示しているのではなく、Proxyサーバーが 表示しているようです。IISやOSを再起動すると復旧するのですが、 原因を追求するには、何を見たらよいですか? アクセス不可になった日のアクセスログは見てみたのですが、 今ひとつ押さえどころがわかりません。 イベントログを見てみたのですが、時おり、ASPファイルで 予期せぬエラーというのがあるのですが、その程度でIISがとまってしまうのでしょうか? よろしくお願いします。

  • ASP AccessDBオープン出来ない

    お世話になります。 サーバー:WindowsServer2003 R2 SE DB:Access2003 WindowsServer2003にASPを配置し、同じくWindowsServer2003にAccess2003を配置し、 ASPからAccessをオープンする時にエラーが出ます。 ODBC設定パターンと、Jetパターン両方等ダメです。 IISはもちろん設定しており、権限も問題無いと思われ、MicrosoftサポートでもTEMPのアクセス権限どうのこうのとありましたが、問題なさそうです。 サイトを探しまくって、分からない為、ご質問させて頂きまた。 有識者の方々、ご享受宜しくお願い申し上げます。 【ソース1】 Set gCon = Server.CreateObject("ADODB.Connection") gCon.Open "TEST" ※TESTはODBC名です。Accessを指定しております。Accessにはパスワードも何もありません。 【Webページ結果】 Microsoft OLE DB Provider for ODBC Drivers エラー '80004005' [Microsoft][ODBC Microsoft Access Driver] ファイル '(不明)' を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。 【ソース2】 Set adoCon = Server.CreateObject("ADODB.Connection") adoCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("TEST.mdb") adoCon.Open ※パスはあってます。 【Webページ結果】 Microsoft JET Database Engine エラー '80004005' エラーを特定できません -------- ローカルでASP、Accessを実行すると、問題なくオープン出来ます。 WindowsServer2003が問題なのでしょうか?

  • IISをリモート接続で

    こんにちは。 IIS上で業務のASPアプリケーションを動かしたく、サーバ専用機を 用意したのですが、離れた場所に設置していて、自分のローカルパソコンから、リモートデスクトップ接続にて、IISの設定をしたいです。 サーバー側からAdministrators権限を設定してもらい、サーバーに接続はできたのですが、IISマネージャから、コンピュータ名の下の「規定のWebサイト」が開けません。管理者特権がないといわれてしまいます。ログインのダイアログが出ますが、このユーザ名とパスワードにサーバー機そのものの管理者情報を入れれば、開くのでしょうか?それともリモート接続ではIISの設定は無理なのでしょうか?よろしくお願いします。

  • ASP(VBScript)にてExcelアプリケーションが終了しない

    こんばんは VBScriptでExcelを読込みサーバのDBに内容を登録後に終了をしているのですがサーバにExcelアプリケーションが残ったままになっています。 strGetFileName = "C:\a.xls" 'Excelシート設定 Set xlsApp = Server.CreateObject("Excel.Application") xlsApp.Workbooks.Open strGetFileName Set xlsBook = xlsApp.Workbooks(1) Set xlsSheet = xlsBook.Worksheets(2) ← 二枚目のシート --中略-- xlsSheet.Application.Quit 'Excelアプリケーションのメモリ開放 Set xlsSheet = Nothing Set xlsBook = Nothing Set xlsApp = Nothing といったコーディングなのですが処理を重ねるたびにタスクマネージャに Excelアプリケーションが残り、重くなってしまいます。 終了の方法が悪いのではないかとは思いますが、実現方法がわかりません。 オブジェクトをオープンしているのでクローズ命令でも試してみましたがうまくいきませんでした。 どなたかご存知の方いらっしゃいましたら教えてください。 OS Win2000 ASP,BASP 言語 Html,VBScript,JavaScript

  • C#でEXCEL オープンできない

    C#でEXCEL オープンできない C#でEXCELファイルをオープンするプログラムを作りました。 自分のPCでは問題なくオープンすることができましたが、 他のPCで動かすとエラーが出てしまいます。(画像参照) 何が足りないのでしょうか、どなたかご教授ください。 よろしくお願いいたします。 以下、EXCELをオープンするソース部分 ---- using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Excel = Microsoft.Office.Interop.Excel; namespace Testxxx { <中略> // ボタン押下時 private void btn_Click(object sender, EventArgs e) { // ファイル名作成 string sNewXls = Application.StartupPath + @"\TEST.xls"; // Excelをオープン Excel.Workbook oWBook = OpenExcel(sNewXls); } // エクセルオープン private Excel.Workbook OpenExcel(string strExFile) { Excel.Application oXls; Excel.Workbook oWBook; oXls = new Excel.Application(); // Excelファイルをオープンする oWBook = (Excel.Workbook)(oXls.Workbooks.Open(strExFile,Type.Missing,false,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing)); Excel.Worksheet oSheet; oSheet = (Excel.Worksheet)oWBook.Sheets[1]; oSheet.Unprotect("test99"); // 仮設定 oSheet.Cells[3, 12] = "10965"; oSheet.Cells[4, 12] = "102"; oSheet.Protect("test", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); oXls.Visible = true; // Excelのウィンドウを表示する // Excel終了 //oXls.Workbooks.Close(); //oXls.Quit(); //System.Runtime.InteropServices.Marshal.ReleaseComObject(oXls); return oWBook; } ----

  • Web上からExeを実行する場合に、IIS内にファイルを作成できない。

    環境はWindowsServer2000のIISを使っていまして、IIS上のフォルダにExeファイルを置いています。 そのExeファイルをASPファイルから実行しているのですが、Exeファイルにログ出力用のファイル作成が入っているのですが、Server上で実行するとファイルが作成されるのですが、Web上から実行するとファイルが作成できません。 Exeファイルはメールの送信処理が入っているのですが、Web上で実行した場合メールが送信されるので性格にExeを実行できています。 おそらく、権限がない為にファイルの作成ができていないのだと思って、IISの該当フォルダ(書き込み先フォルダ)のプロパティで書き込みにチェックを入れてみたのですが、やはり作成できません。 ASP側実行部分 Set WSH = Server.CreateObject("Wscript.Shell") WSH.Run(Server.MapPath"./mail/mailsend.exe"),0,False) Exeファイル ・メール送信(Web上の実行でメールの送信確認) ・送信ログ(ファイルが作成されない) どなたか、教えてくださいー。 他に権限を変えるところがあるんでしょうか・・ それとも他に原因がー? 小さなことでもいいので教えてください!

  • Open Filenameで変わるファイル名を開く

    スマホアプリで作成したデータをパソコンのExcelから開きたいです。 vbaで操作したいのですが、アプリでエクスポートされたファイル名は日々名前が変わります。 Open Filenameで操作したいです。 Sub Sample1は開きますが、毎日ファイル名をて入力しなければなりません。 Sub Sample1() Workbooks.Open Filename:="C:\Users\closeinlove\Dropbox\アプリ\ExcelCalendarLite\cal-excel-160906.xls" '←「yymmdd.xls(年年月月日日).xlsの数値が入っています」 End Sub Sub Sample2に日々変わるファイル名の数値の部分を*に置き換えましたが、駄目でした。実行エラー1004 Sub Sample2() Workbooks.Open Filename:="C:\Users\closeinlove\Dropbox\アプリ\ExcelCalendarLite\cal-excel*.xls" End Sub Sub Sample3に日々変わるファイル名の数値の部分を??????に置き換えましたが、駄目でした。実行エラー1004 Sub Sample3() Workbooks.Open Filename:="C:\Users\closeinlove\Dropbox\アプリ\ExcelCalendarLite\cal-excel-??????.xls" End Sub ファイル名の変わる部分の指定方法を教えて下さい。

  • ASPでExcel起動後マクロ実行

    似たような質問があったのですが、解決できませんでしたので質問させて頂きます。 下記のプログラムで、ASPでExcelを起動後、マクロを実行させてたいと考えています。 Set objEx = Server.CreateObject(Excel.Application) objEx.Application.Visible = True objEx.Workbooks.Open "C:\Excel\hoge.xls" objEx.Run("hoge.xls!Module1.macro1()") しかし、excelがバックグラウンドで実行されて表示されないので困っています。表示させる方法はあるのでしょうか? アドバイスお願い致します。

  • Windows 2003 ServerのIIS

    今まで社内でNT → Win2000 Server とIISサービスを 利用してきました。VBScriptでASPを動かしていたのですが こんど2003Serverにして同じような設定で動くと思ったのですが、http://****/***.asp ファイルは以下のエラーになります。 ●「HTTP エラー 404 - ファイルまたはディレクトリが見つかりません。インターネット インフォメーション サービス (IIS)」 ●普通のhtml は問題なく表示されます。 ●セキュリテーや権限が以前とかなり違っているようなのですがIISマネージャの設定もいろいろ設定しました。 このままでは2000に戻すしかなさそうです。 ●\\****\***.asp で絶対パスを見に行くとファイルは存在しますが、(HTMLの部分は見られます)がVBScript内部は無視されます。 ●どこをチェックすればいいのかアドバイス頂ければ助かります。  以上宜しく御願いします。