VBscript
をテンプレートにして作成
[
トップ
] [
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
#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 & "何がいい?"
~
** ちなみに、+= や &= など、短縮系は使えません! [#q6b435...
Option Explicit
Dim x
x = "今日勉強するのは?" & vbCrLf
x &= "何がいい?"
MsgBox x
~
結果
エラーになります。。。
** ユーザに文字を入力させる InputBox関数 [#d57921c1]
Option Explicit
Dim x
x = InputBox("メッセージを入れてね♪")
MsgBox "あなたが入れたメッセージは、「" & x & "」 ですね...
*** InputBox の詳細 [#vd03b14a]
InputBox("メッセージ",[, タイトル][, デフォルト][, 表示...
** :「コロン」について [#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("内容"[,追加するボタン][,"タイトル"][,ヘルプファイ...
~
追加できるボタン~
|vbQuestion|「?」アイコンを出す|
|vbInformation|「i」アイコンを出す|
|vbCritical|「×」アイコンを出す|
|vbExclamation|「!」注意アイコンを出す|
|vbYesNoCancel|「はい」「いいえ」「キャンセル」のボタンを...
-追加するものは、「+」でつなげる。~
MsgBox("あなたは未成年ですか?",vbQuestion + vbYesNoCanc...
~
|vbYes|MsgBox()のYes、Noボタンの Yes に使う|
|vbNo|MsgBox()のYes、Noボタンの No に使う|
|vbCancel|MsgBox()のキャンセルボタンに使う|
~
Dim MsgFlag
MsgFlag = MsgBox("あなたは未成年ですか?",vbQuestion + v...
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)...
' 検索元文字列
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
終了行:
#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 & "何がいい?"
~
** ちなみに、+= や &= など、短縮系は使えません! [#q6b435...
Option Explicit
Dim x
x = "今日勉強するのは?" & vbCrLf
x &= "何がいい?"
MsgBox x
~
結果
エラーになります。。。
** ユーザに文字を入力させる InputBox関数 [#d57921c1]
Option Explicit
Dim x
x = InputBox("メッセージを入れてね♪")
MsgBox "あなたが入れたメッセージは、「" & x & "」 ですね...
*** InputBox の詳細 [#vd03b14a]
InputBox("メッセージ",[, タイトル][, デフォルト][, 表示...
** :「コロン」について [#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("内容"[,追加するボタン][,"タイトル"][,ヘルプファイ...
~
追加できるボタン~
|vbQuestion|「?」アイコンを出す|
|vbInformation|「i」アイコンを出す|
|vbCritical|「×」アイコンを出す|
|vbExclamation|「!」注意アイコンを出す|
|vbYesNoCancel|「はい」「いいえ」「キャンセル」のボタンを...
-追加するものは、「+」でつなげる。~
MsgBox("あなたは未成年ですか?",vbQuestion + vbYesNoCanc...
~
|vbYes|MsgBox()のYes、Noボタンの Yes に使う|
|vbNo|MsgBox()のYes、Noボタンの No に使う|
|vbCancel|MsgBox()のキャンセルボタンに使う|
~
Dim MsgFlag
MsgFlag = MsgBox("あなたは未成年ですか?",vbQuestion + v...
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)...
' 検索元文字列
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
ページ名: