プロが教える店舗&オフィスのセキュリティ対策術

ASPのコード部分で、
いろんなファイル共通の処理(更新日付を表示用に編集する等)をまとめて一つの別ファイルに記述し、
各ファイルの処理内で、呼び出して使用したいのですが。

◎呼び出し側

<!--#include file="abc.asp">
として、aspコード内で、
call Change_Ymdhms(w_Tymd,w_Thms)

と書いてます。

◎呼び出される側

abc.aspの中では、
function Change_Ymdhms(w_Ymd,w_Hms)
dim w_Len
dim R_Ymdhms

w_Len = len(w_Tymd)
if w_len < 8 then
w_Ymd = string((8 - w_Len),"0") & w_Tymd
end if

w_Len = len(w_Hms)
if w_len < 6 then
w_Thms = string((6 - w_Len),"0") & w_Thms
end if

R_Ymdhms = mid(w_Ymd,1,4) & "/" & mid (w_Ymd,5,2) & "/" & mid(w_Ymd,7,2) & " " & _
mid(w_Yms,1,2) & ":" & mid(w_Yms,3,2) & ":" & mid(w_Yms,5,2)

end function

とファンクションが書いてあります。

呼び出し側のaspファイルを実行すると、
「ページを表示できません」となり、
「Subプロシージャを呼び出すときに括弧を使うことはできません」というエラータイプが表示されます。

本で探しても見つけられず、「こうすればどうか・・・」
と思い、書いてみましたが、上手くいきません。
(当たり前ですが・・・)

どなたかご存知でしたら、どうか教えてください。
よろしくお願いします。

A 回答 (1件)

こんにちは。

itohhといいます。

>「ページを表示できません」となり、
呼び出し側で次ページの作成はしていますか?
基本的にHTMLを出力しないaspファイルを次ページに指定することは出来ません。
あるいは、下記のエラーのためにcall文でaspが終了してしまったためかもしれません。

>「Subプロシージャを呼び出すときに括弧を使うことはできません」という
>エラータイプが表示されます。

これは、functionの場合、
>call Change_Ymdhms(w_Tymd,w_Thms)
では、文法エラーとなります。(Subの場合の呼び出し方です)

Dim Rtn
Rtn = Change_Ymdhms(w_Tymd,w_Thms)
とすれば、OKのはずです。
また、復帰値を返さなければいけません。
例。
>function Change_Ymdhms(w_Ymd,w_Hms)
>dim w_Len
>dim R_Ymdhms
Change_Ymdhms = 0

エラーの場合
Change_Ymdhms = 1

>end function



Function : 復帰値を呼び出し元に返す関数。
Sub : 復帰値を返さない関数。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!