
初投稿です。よろしくお願いします。
現在、諸事の事情により、ASP.NETからサーバ上のEXCELのマクロを実行しようとしてますが、起動できずに困っております。
過去ログを探してみて、偽装とDCOMの構成は行いました。
EXCELが実行できるならと思い、ATコマンドでもbatでもたたいてみましたが、
マクロの実行はできませんでした。
諸兄のご助言をお願いしたく思います。
【環境】
OS:WinXP Pro SP2
VisualStadio.Net 2003
Framework1.1
IIS 5.1
MicrosoftOffice 2003
【やりたいこと】
ASP.NETで作成したプログラム上でブラウザのボタンを押したとき、
サーバーのC:\check.xlsを
Dim p As Process = Process.Start("EXCEL", "C:\check.xls")
で起動し、
書いてあるマクロを実行したい。
【現状】
タスクマネージャで確認したところ、
EXCEL.exe ユーザ名ASPNET
は表示されたが
マクロは動かなかった。
デバッグで
System.Security.Principal.WindowsIdentity.GetCurrent().Name
を行ったところ、"マシン名\testuser"となり、
偽装は成功しているよう。
【準備したこと】
1.DCOMの構成のユーザ追加:
管理ツール/コンポーネントサービス/コンポーネントサービス/コンピュータ/マイコンピュータ/DCOMの構成/Microsoft Excel アプリケーションのプロパティ/セキュリティ/
の
「起動とアクティブ化のアクセス許可」のカスタマイズ項目を編集し、testuser
とASPNETを追加
「アクセス許可」のカスタマイズ項目を編集し、testuserと
ASPNETを追加
2.偽装の有効化:
Web.configに
<identity impersonate="true" userName="testuser" password="testuser" />
を追加
testuserはAdministrator権限
何とかしたいのですが、方法のご指導をよろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
可能性として考えられるのは、「マクロ」ですね。
マクロを含んだExcelファイルを普通に開いた場合、
マクロの警告がでますよね。(セキュリティレベルにも
よりますが)
ですから、ASP.NETで同様なことを行っても、
マクロの警告が出ていて、応答待ち状態になっていませんか?
もしそうだとしたら、
・セキュリティレベルを下げる
・マクロを使用せずに、マクロと同等な処理をASP.NET側で実行する。
・・マクロを使用せずに、マクロと同等な処理をVBSで記述し、VBSをバッチファイル化し、ASP.NETから起動する。
こんなところでしょうか?
この回答への補足
すみません、書き忘れてました。
・セキュリティレベルを下げる
EXCELファイルをダブルクリックしてマクロが動く(ファイルを書き出す)ことは確認してます。
セキュリティも「低」にしております。
・マクロを使用せずに、マクロと同等な処理をASP.NET側で実行する。
それはごもっともなのですが、大人の事情というやつで・・・
・マクロを使用せずに、マクロと同等な処理をVBSで記述し、VBSをバッチファイル化し、ASP.NETから起動する。
やはり、vbs等でおこなうほうがいいのかな・・・と思ったりしています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに張り付けた写真のフ...
-
aspxをhtmlに変換する方法について
-
onedrive にexcelファイルをア...
-
phpのファイルがブラウザで開か...
-
【VB.NET】Excelの最終行までの...
-
vba マージエリアの行数を非表...
-
VBAでPDFを作成する際、同じ名...
-
【VB.NET】App.configにファイ...
-
スイッチが二台あり、別々のア...
-
ASP.NetでWebアプリ開発の経験...
-
Windowsで複数のファイルを同じ...
-
SJISで、全角文字Aの文字コード...
-
高校1年生情報の問題について。
-
VBA 複数のテキストボックスと...
-
フォルダの中のフォルダも圧縮...
-
エクセルのファイル名をコピー...
-
VB.NETでMSComm が追加できず?
-
【VB.NET】for each文からのINS...
-
コマンドプロンプトの窓の起動...
-
Excelでボタン(フォームコント...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルに張り付けた写真のフ...
-
スイッチが二台あり、別々のア...
-
vba マージエリアの行数を非表...
-
【VB.NET】Excelの最終行までの...
-
VBAでPDFを作成する際、同じ名...
-
Windowsで複数のファイルを同じ...
-
SJISで、全角文字Aの文字コード...
-
VB.NET Excelを読み込んでDataT...
-
【VB.NET】App.configにファイ...
-
vba 空のデータをSplitする時の...
-
高校1年生情報の問題について。
-
ffftpでファイル取得が0バイト...
-
aspxをhtmlに変換する方法について
-
VB.NETでMSComm が追加できず?
-
バッチで当日日付で作成される...
-
phpのファイルがブラウザで開か...
-
onedrive にexcelファイルをア...
-
Excelでボタン(フォームコント...
-
エクセルVBAで印刷する書式をク...
-
asp.netにてgridviewの列を動的...
おすすめ情報