WSF : VBScript の 関数定義を WEB 上に置いて PC で使用する

基本的には SHIFT_JIS で保存する

まず、WEB 側に置くコードですが、Content-Type を text/plain にする為に、PHP で httpヘッダーを記述します。.htaccess で記述してもかまいませんが、WEB上の好きな場所に移動しやすくする為に php で記述しておくのが一番いいと思います。 ソースのキャラクタセットは shift_jis で保存して shift_jis として httpヘッダーに出力します。こうしておくと、PC 側で ServerXMLHTTP を使って読み出して、動的に関数を定義する事も可能になります。( 動的に定義する場合は、UTF-8 でも問題ありません )

動的に定義する場合は VBScript の記述方法に注意

WEB 側に VBScript のコードを置いて動的に定義する場合の注意として重要なルールが二つあります。 1) シングルクォートのコメントを使用しない 2) 条件式の = を使用しない 何れも VBScript の構文解析の問題らしいです。

PHP で 『正規表現のトリム』の記述

01.<?php
02.header( "Content-Type: text/plain; charset=shift_jis" );
03.header( "Expires: Thu, 19 Nov 1981 08:52:00 GMT" );
04.header( "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0" );
05.header( "Pragma: no-cache" );
06.?>
07.REM **********************************************************
08.REM 正規表現のトリム
09.REM **********************************************************
10.Function RegTrim( strValue )
11. 
12.        Dim regEx, str
13. 
14.        Set regEx = New RegExp
15.        regEx.IgnoreCase = True
16.        regEx.Pattern = "^[ \s]+"
17.        str = regEx.Replace( strValue, "" )
18.        regEx.Pattern = "[ \s]+$"
19.        RegTrim = regEx.Replace( str, "" )
20. 
21.End Function

この関数は、VBScript の正規表現を使って文字列の左右の空白文字を漢字スペースも含めて取り除くものです。

PC 側の定義は通常通りですが、script 要素の src 属性で web 上の場所を指定する事になります。拡張子を .wsf にしてWscript.exe か Cscript.exe で実行します( 通常はエクスプローラからダブルクリックです )
01.<job>
02.<script language="VBScript" src="https://toolbox.winofsql.jp/vbs/regtrim.php"></script>
03.<script language="VBScript">
04. 
05.str = RegTrim( getResource( "mydata" ) )
06.MsgBox( "/" & str & "/" )
07. 
08.</script>
09.<resource id="mydata">
10. 
11. 
12.    この部分のみ取り出します    
13. 
14. 
15.</resource>
16.</job>

埋め込みテキストがソースコードの場合の記述方法

resource 要素では、ソースコード内にテキストデータを用意できるのでソースコードを準備しておいて、プログラムを登録したい時に使ったりします 但し、そのような場合は文の中に < があるとエラーになるので以下のように記述します
01.<job>
02.<script language="VBScript" src="https://toolbox.winofsql.jp/vbs/regtrim.php"></script>
03.<script language="VBScript">
04. 
05.str = RegTrim( getResource( "mydata" ) )
06.MsgBox( "/" & str & "/" )
07. 
08.</script>
09.<resource id="mydata">
10.<![CDATA[
11. 
12.    この部分のみ  <  取り出します    
13. 
14.]]>
15.</resource>
16.</job>