基本的には 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 で 『正規表現のトリム』の記述
<?php header( "Content-Type: text/plain; charset=shift_jis" ); header( "Expires: Thu, 19 Nov 1981 08:52:00 GMT" ); header( "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0" ); header( "Pragma: no-cache" ); ?> REM ********************************************************** REM 正規表現のトリム REM ********************************************************** Function RegTrim( strValue ) Dim regEx, str Set regEx = New RegExp regEx.IgnoreCase = True regEx.Pattern = "^[ \s]+" str = regEx.Replace( strValue, "" ) regEx.Pattern = "[ \s]+$" RegTrim = regEx.Replace( str, "" ) End Function
この関数は、VBScript の正規表現を使って文字列の左右の空白文字を漢字スペースも含めて取り除くものです。 PC 側の定義は通常通りですが、script 要素の src 属性で web 上の場所を指定する事になります。拡張子を .wsf にしてWscript.exe か Cscript.exe で実行します( 通常はエクスプローラからダブルクリックです )
<job> <script language="VBScript" src="https://toolbox.winofsql.jp/vbs/regtrim.php"></script> <script language="VBScript"> str = RegTrim( getResource( "mydata" ) ) MsgBox( "/" & str & "/" ) </script> <resource id="mydata"> この部分のみ取り出します </resource> </job>
埋め込みテキストがソースコードの場合の記述方法
resource 要素では、ソースコード内にテキストデータを用意できるのでソースコードを準備しておいて、プログラムを登録したい時に使ったりします 但し、そのような場合は文の中に < があるとエラーになるので以下のように記述します
<job> <script language="VBScript" src="https://toolbox.winofsql.jp/vbs/regtrim.php"></script> <script language="VBScript"> str = RegTrim( getResource( "mydata" ) ) MsgBox( "/" & str & "/" ) </script> <resource id="mydata"> <![CDATA[ この部分のみ < 取り出します ]]> </resource> </job>