お世話になっております。カナと申します。
宜しくお願いいたします。
・windowsXP
・Vbscript
・IIS5.0
インクルードしたaspファイルに、関数があるのですが、
それを実行し戻り値を取得して呼び出し元の関数に戻った際に、
エラー「この変数は宣言されていません。」が出てしまいます。
以下ソースです。
'~~~~~TEST_1.asp~~~~~~~~~
<%@ LANGUAGE="VBScript" %>
<% option explicit %>
<!-- #include file="TEST_2.asp" -->
<%
call TEST_1()
%>
<%
public function TEST_1(Data)
Dim Data
On Error Resume Next
Data=27
Call TEST_2(Data)
Response.Write(Data)%><br><%
'↑きちんと30が取得できます
Response.Write(Err内容:" & Err.Description)%><br><%
'↑ここでエラーの確認をしています。
'「この変数は宣言されていません。」になります。
End Function
%>
~~~~~TEST_2.asp~~~~~~~~~
<%
Public Sub TEST_2(ByRef Data)
On Error Resume Next
Response.Write("Data)%><br><%
'↑27が表示されます
Data=Data+3
End Sub
%>
-------------------------------------------------------
以上です。
callで関数を呼んで、実行結果は正しく取得できるのですが、戻ってきたときにエラーになるので、この先のコードを書いていったときにエラー処理等に問題が出てしまいます。
もっと長いソースを書いているときも同様のエラーが出るので、ファイルのインクルードの仕方か関数の呼び出し方など、根本的になにか問題があるのだと思うのですが・・・。
何かおかしい点があるのでしょうか?
大変困っています。
申し訳ありませんが、どなたかご教授ください。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
すいません、このソースコードのミスを見つけたのでご指摘します。
もうだいぶ時間が経ってしまったので、解決されているかもしれませんが・・・
まず、call TEST_1() を呼んでますよね?
しかし、TEST_1の関数を見ると、「public function TEST_1(Data)」
となっており、Dataに該当する引数を渡さないで実行しているために、
エラーになってます。
Easyミスなので、FunctionやSubの呼び出し元と呼び出し先の
引数の数があっているか、全体的に見直すことをお勧めします!
No.1
- 回答日時:
『On Error Resume Next』をコメントアウトして実行してみるとどこでエラーになっているのかの詳細が表示される場合がありますよ
TEST_1.aspで『Option Explicit』を宣言しているので
Dim宣言していない変数は使用出来ないことになります
このエラーが発生しても On Errorでトラップされてしまうので原因箇所の特定が難しくなります
投稿のソースでおかしな点は Response.Writeの引数の""の整合ぐらいのように思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- ドライブ・ストレージ HDDのチェック方法 6 2022/05/04 09:49
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- Visual Basic(VBA) Selenium Basicの件 5 2023/04/10 20:55
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/09 10:33
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- JavaScript [再掲]指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードについて 1 2023/05/10 15:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# try-catch でcatchに飛ばす方法
-
CreateObject("Excel.Applicati...
-
ASP.NetでのActiveX
-
ASP.NETで使用しているJavascri...
-
winsock通信時エラーの回避
-
エラー 'ASP 0115' について
-
oracleを利用できません。(glob...
-
07弥生会計のエラー
-
VBA RemoveDuplicatesで「アプ...
-
ASPプログラミングでADODB.C...
-
FileCopy時のエラー
-
エラー内容について
-
EXECLマクロでshapeがグルーフ...
-
隠しフィールドをVBScriptでの...
-
GridView表示の高速化
-
ソケット通信で同時受信の制限?
-
UpdatePanel と GridViewについ...
-
ASPへのデータの受け渡しについて
-
エクセルVBA 宣言Dimの場所
-
ASPからASPを呼び出す方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# try-catch でcatchに飛ばす方法
-
FileCopy時のエラー
-
エラー 'ASP 0115' について
-
EXECLマクロでshapeがグルーフ...
-
CreateObject("Excel.Applicati...
-
VBSからPDFファイルを開きたい...
-
winsock通信時エラーの回避
-
ASP.NET C# ローカルのパスが呼...
-
Outlookで添付ファイルの有無を...
-
エラー 'ASP 0115'
-
WinXPProにVC++6.0をイン...
-
fopenでエラーとなる
-
IIS7.5の設定の仕方
-
エラー内容について
-
ASPプログラミングでADODB.C...
-
ASP.NETで使用しているJavascri...
-
ASPからWscriptを利用して外部...
-
オブジェクト生成エラー
-
VB6でRDOに接続できない
-
オラクル接続をopenしようとす...
おすすめ情報