
ここを含めて、いろんなサイトで調べましたが分からなかったので質問させていただきます。
ASPで、画面のボタン(画像)をクリックしたときに、別のASPを呼び出してIEでEXCELを表示する画面なのですが、
(以下抜粋)
<a href="javascript:void(0)" onClick="exp.VbsExec('http://xxxxxxxx.asp')"><img src="xxx.gif" height="20" title="EXCEL表示" border="0"></a>
・
・
・
<object ID="exp" CLASSID="CLSID:7873326C-CB0C-4F2C-99A6-414E128922ED">
</object>
複数のPCで使用していて、同じPC・同じ環境で使用しているのに1台だけ、クリック時にスクリプトエラー「オブジェクトでサポートされていないプロパティまたはメソッドです。」となりEXCEL表示することができません。
上記ソースの「exp.VbsExec」でエラーとなっているようなのでASPの関連サイトを巡って調べましたが原因がわかりませんでした。
原因及び対処方法を教えていただけないでしょうか。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ご連絡が遅くなってしまい、すいません。
既に解決済みかもしれませんが、今後のために情報をUPしておきます。
Windows Media Player の例になってしまいますが、同様のエラーがWindows Media Player でも出ることがあるみたいで、Excelでも
同じことが言えるのではないかと思っております。
恐らく、http://faq.stream.co.jp/faq/w014.html で、ブラウザの
設定を変更すると、その問題PCでも、エラーなくExcel処理ができるのではないかと思います。
ひとまず、http://faq.stream.co.jp/faq/w014.html を参考に
問題PCのブラウザ設定をご確認ください。
>ちょっとお尋ねしたいのですが、exp.VbsExecで指定しているASPファ>イルの方でエラーがある場合、エラー画面で表示されるファイル名や行数は、本来のエラー箇所ではなく、exp.VbsExecの方が表示されるの>でしょうか?
これについては、実際にASPファイルをブラウザで表示した時に
生成されるHTMLの行番号です。(クライアント側のコードの場合)
サーバー側のコードであれば、ASPファイルの該当する行番号を具体的に示します。
今回のようにExcelの処理をクライアント側で実装されているので、
HTMLの行番号になります。
イメージがつきずらいかもしれませんが、エラー箇所はASPファイルが画面に表示された後、ブラウザ内で右Clickし、「ソースの表示」をしてもらうと、ASPを実行したことによって生成されたHTMLのコードが表示されますので、そのHTMLコードの行番号を見るとだいたい当たりがつきます。
ご参考にならない情報かもしれませんが、ご検討頂けると幸いです。
宜しくお願いします。
参考URL:http://faq.stream.co.jp/faq/w014.html
No.1
- 回答日時:
そのエラーになるPCだけ、Excelのバージョンが違うとかそういったことはございませんか?
必ずしもExcelのCLSIDは、全バージョンで一致しているとは限らないので、Excelのバージョンと、exp.VbsExecのソースの内容を拝見したいところです。
もう少し、細かい補足をお願いできればと思います。
宜しくお願いします。
この回答への補足
回答ありがとうございます。
現在、そのPCが手元にないので正確なバージョンはわかりませんが、
Excel2007で、他のPCと同一のものが入っています。
手元にあるときにレジストリエディタで「exp.Bean」と「EXCEL.Aprication」のCLSIDを比べてみたりしたのですが、正常に動作しているPCと同じ内容でした。
あと、exp.VbsExecのソースの内容ですが、ある程度省略して書きます。
Dim Books(3)
<%
Books(1)= "http://xxxxxx/xxxx.asp?xxxxxxx"
Books(2)= "http://xxxxxx/xxxx.asp?xxxxxxx"
Books(3)= "http://xxxxxx/xxxx.asp?xxxxxxx"
%>
' エクセルオブジェクトの準備
Set XL = WScript.CreateObject("Excel.Application")
XL.Visible=True' エクセル表示
DispAlerts = XL.DisplayAlerts
XL.DisplayAlerts = False
'デバッグ時はTrue
'XL.ScreenUpdating = False
' 新しいワークシート作成
Set NB = XL.Workbooks.add
Dim OldSheet()
Redim OldSheet(NB.Sheets.Count)
For ix = 0 to NB.Sheets.Count-1
OldSheet(ix) = NB.Sheets(ix+1).Name
Next
' データソースワークシートの取得
ix = 0
Do While Books(ix) <> ""
Set BK = XL.Workbooks.Open(Books(ix))
BK.Activate
BK.Sheets(1).Copy NB.Sheets(OldSheet(0)) ' 常に'Sheet1
' データソースワークシートのクローズ
BK.Saved=True
BK.Close(false)
ix = ix + 1
Loop
' 新しいワークブックのデフォルト作成されるシートを削除する
For ix = 0 to UBound(OldSheet)-1
NB.Sheets(OldSheet(ix)).Delete
Next
NB.Sheets(1).Select
XL.ScreenUpdating = True
XL.DisplayAlerts = DispAlerts
以上です。
ちょっとお尋ねしたいのですが、exp.VbsExecで指定しているASPファイルの方でエラーがある場合、エラー画面で表示されるファイル名や行数は、本来のエラー箇所ではなく、exp.VbsExecの方が表示されるのでしょうか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
実行時エラー 438 の解決策をお...
-
【VBA】ワークブックを開く時に...
-
VBAでfunctionを利用しようとし...
-
お助けください!VBAのファイル...
-
マクロで"#N/A"のエラー行を削...
-
python初心者です。
-
paizaで下記コードを提出すると...
-
実行時エラー'-2147467259(8000...
-
VB2008 comboboxを連動させた...
-
Excel vbaについての質問
-
On ErrorでエラーNoが0
-
Filter関数を用いた結果、何も...
-
String""から型'Double'への変...
-
実行時エラー '8021'とはどんな...
-
VBA データ(特定値)のある最...
-
-2147418107 (&H80010005)
-
オブジェクト型の変数にフォー...
-
コンボボックスの特定項目だけ...
-
unityの教科書のゲームを作って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UserForm1.Showでエラーになり...
-
お助けください!VBAのファイル...
-
VBAでfunctionを利用しようとし...
-
【VBA】ワークブックを開く時に...
-
マクロで"#N/A"のエラー行を削...
-
文字列内で括弧を使うには
-
String""から型'Double'への変...
-
【Access】Excelインポート時に...
-
VBA データ(特定値)のある最...
-
On ErrorでエラーNoが0
-
インポート時のエラー「データ...
-
ACCESSで値を代入できないとは?
-
VBA エクセル で FIND でのエラ...
-
Filter関数を用いた結果、何も...
-
レコード登録時に「演算子があ...
-
ApplicationとWorksheetFunctio...
-
Excel vbaについての質問
-
【VBAエラー】Nextに対するFor...
-
実行時エラー 438 の解決策をお...
-
「実行時エラー '3167' レコー...
おすすめ情報