#contents
- [[VBscript 配列]]~
- [[VBscript ファイル操作]]~
- [[VBscript オブジェクト操作]]~
- [[VBscript IISで使用するわざ]]~
~
* VBscript 基礎 [#k5281dfd]
** 使い方 [#nd791cd2]
+新規にテキストドキュメントを作成
+スクリプトを書く
+ファイル名の拡張子を「.txt」から「.vbs」に変更
+そのファイルをダブルクリックして実行する。

** メッセージを表示 [#r4d50d1f]
 Dim x
 x = "ハローWSHべたべただね!"
 MsgBox x
:※ Dim の行は無くても良い|Option Explicit を1行目に記述すると、宣言していない変数はエラー表示してくれる。

** 文字と文字をつなぐのは & [#l896faf2]
 Option Explicit
 Dim x
 x = "今日勉強するのは?"
 x = x & "何がいい?"
 MsgBox x
~
結果~
 今日勉強するのは?何がいい?

** 改行は vbCrLf を使う [#i580a81d]
 Option Explicit
 Dim x
 x = "今日勉強するのは?" & vbCrLf
 x = x & "何がいい?"
 MsgBox x
~
結果~
 今日勉強するのは?
 何がいい?
~
変数を使わなくて、直接 MsgBox に記述してもよい。~
 MsgBox "今日勉強するのは?" & vbCrLf & "何がいい?"
~
** ちなみに、+= や &= など、短縮系は使えません! [#q6b43565]
 Option Explicit
 Dim x
 x = "今日勉強するのは?" & vbCrLf
 x &= "何がいい?"
 MsgBox x
~
結果
 エラーになります。。。

** ユーザに文字を入力させる InputBox関数 [#d57921c1]
 Option Explicit
 Dim x
 x = InputBox("メッセージを入れてね♪")
 MsgBox "あなたが入れたメッセージは、「" & x & "」 ですね。"

*** InputBox の詳細 [#vd03b14a]
 InputBox("メッセージ",[, タイトル][, デフォルト][, 表示位置x][, 表示位置y][, ヘルプファイル, context])

** :「コロン」について [#mb749a09]
文を短くするために、:を使うと、改行したのと同じ意味になります。
 Dim x : Dim y
 これと、
 Dim x
 Dim y
 これは、同じ
 意味としては、これも同じ
 Dim x, y

** 算術 [#r36eebd5]
|+|足算|x = 12 + 7|
|−|引算|x = 12 - 7|
|*|掛算|x = 12 * 7|
|/|割算|x = 12 / 7|
|¥|割算の商(整数部分)|x = 12 \ 7|
|mod|割算の余り|x = 12 mod 7|
|^|べき乗|x = 12 ^ 7|
|−|−符号|x = -12 |
|()|カッコ|x = (12 - 7) * 4|

** if (条件分岐) [#m77a219d]
 Option Explicit
 Dim x, y
 x = 5 : y = 3
 If x > y Then MsgBox x & "は" & y & " より大きい。"
~
:基本の形|if 条件1 Then~
 条件1にあっている場合~
ElseIf 条件2 Then~
 条件1ではなく、条件2な場合~
Else~
 それ以外の場合~
End If~

*** AND , OR [#t25b4e2d]
|AND|しかも|
|OR|又は|
 if A > 0 AND A < 10 then
   WScript.Echo "A は、1 〜 10です。"
 else if A < 0 OR A > 10 then
   WScript.Echo "A は、0 よりも少ないか、10 より多いです。"
 else
   WScript.Echo "A は、0 か、10 です。"
 end if

*** 比較の条件 [#ofd9b105]
|<|より小さい|
|<=|以下|
|>|より大きい|
|>=|以上|
|=|等しい|
|<>|等しくない|

*** MsgBoxの詳細 [#icc8595e]
MsgBox("内容"[,追加するボタン][,"タイトル"][,ヘルプファイル,context])~
~
追加できるボタン~
|vbQuestion|「?」アイコンを出す|
|vbInformation|「i」アイコンを出す|
|vbCritical|「×」アイコンを出す|
|vbExclamation|「!」注意アイコンを出す|
|vbYesNoCancel|「はい」「いいえ」「キャンセル」のボタンを追加|
-追加するものは、「+」でつなげる。~
 MsgBox("あなたは未成年ですか?",vbQuestion + vbYesNoCancel,"年齢チェック!")~
~
|vbYes|MsgBox()のYes、Noボタンの Yes に使う|
|vbNo|MsgBox()のYes、Noボタンの No に使う|
|vbCancel|MsgBox()のキャンセルボタンに使う|
~
 Dim MsgFlag
 MsgFlag = MsgBox("あなたは未成年ですか?",vbQuestion + vbYesNoCancel,"年齢チェック!")
 if MsgFlag = vbYes Then
   MsgBox "お酒が飲めます", vbInformation
 ElseIf MsgFlag = vbNo Then
   MsgBox "お酒は飲めません", vbCritical
 Else
   MsgBox "キャンセルされました", vbExclamation
 End If

* 文字列制御 [#mb355f7d]
** 正規表現 [#sc93c2c5]
*** 使い方 [#o0dc02d6]
 Dim re,a
 ' 正規表現初期設定
 Set re = new regexp
 re.IgnoreCase = true    '英語の大文字小文字を区別(true)デフォルトはfalse
 ' 検索元文字列
 a = "Message"
 ' パターンを設定
 re.Pattern = "^Mes"
 '一致したら表示する
 if ( re.Test(a) ) then
     WScript.Echo "「" + a + "」は、一致しました"
 else
     WScript.Echo "「" + a + "」は、一致しませんでした"
 end if

* ハッシュ配列(連想配列) [#v1fbfe38]
** 使い方 [#k14830f1]
 Dim wkHash
 
 ' wkHash変数を
 Set wkHash = CreateObject("Scripting.Dictionary")
 
 ' 追加
 wkHash("キー1") = "内容1"
 
 ' キーの一覧
 for Each wkKey in wkHash.Keys
   MsgBox(wkKey)
 next
 
 ' キーの存在確認
 if wkHash.Exists("キー1") Then
   MsgBox("「キー1」は存在します。")
 end if

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS