第4回 関数を使いこなす(その1) 文字列、数値、日付を扱う関数:基礎解説 演習方式で身につけるチェック式WSH超入門(1/4 ページ)
VBScriptの関数を単体で使用したり、組み合わせたりすることで、複雑な処理が可能だ。今回は文字列、数値、日付関数の使い方を解説。
今回から2回にわたり、第2回で取り上げたMsgBox関数、InputBox関数以外の関数を取り上げ、さらに一歩踏み込んで、VBScriptをより高度に使いこなす方法について説明する。
関数を制するものはスクリプトを制す
■連載目次
第1回 WSHを始めよう
第2回 VBScript基本(1)文字列の入出力
第3回 VBScript基本(2)計算と分岐処理
第4回 関数を使いこなす:文字列、数値、日付
第5回 データ型について理解を深めよう
第6回 VBScriptの配列を極める
第7回 Subプロシージャで処理を定義
第8回 Functionプロシージャで関数を定義
第9回 VBScriptのオブジェクトを使いこなす
第10回 WScriptオブジェクト(1)
第11回 WScriptオブジェクト(2)
第12回 WshShellオブジェクト(1)
第13回 WshShellオブジェクト(2)
第14回 WshShellオブジェクト(3)
第15回 WshNetworkオブジェクト
第16回 FileSystemObjectオブジェクト(1)
第17回 FileSystemObjectオブジェクト(2)
第18回 FileSystemObjectオブジェクト(3)
第19回 TextStream/Dictionaryオブジェクト
第2回でも説明したとおり、関数とは、引数を受け取って、何らかの処理を行い、結果を戻り値として返す装置である。第2回ではMsgBox関数とInputBox関数のみ取り上げたが、実際はVBScriptにはおよそ100個の関数があらかじめ用意されている。これらの関数を単体で使用したり、組み合わせたりすることで、複雑な処理が可能となる。 100個もあるというと、覚えるのも大変そうだと感じてしまうかもしれないが、いくつかのタイプに分類できるので、パターンをつかめば習得するのはそれほど困難ではない。ただしVBScriptのヘルプには厳密な分類がされていない。そこで、VBScriptの関数の全体像を把握しやすいように、筆者なりの分類をしてみた。それが次の表だ。ただしこの表は、入門者が関数群の概要を理解するためのもので、VBScriptのすべての関数を含んでいるわけではない。例えば、バイナリ・データを扱うLeftBなど、通常はあまり使わないような関数は含めていない。
VBScriptの関数一覧 | ||
1. 文字列処理関数 文字列を扱う関数。文字列を加工したり切り出したりして、新たな文字列を取得するものが多い |
InputBox、MsgBox | |
Left、Right、LTrim、RTrim、Trim、LCase、UCase、Mid、Replace、StrReverse、String、Space | ||
Len、InStr、InStrRev、StrComp | ||
Asc、Chr | ||
FormatCurrency、FormatDateTime、FormatNumber、FormatPercent | ||
2. 数値演算関数 数値を扱う関数。数学に出てくる「関数」と共通のものもある |
Sin、Cos、Tan、Atn、Sqr、Exp、Log | |
Int、Fix、Sgn、Abs、Round | ||
Rnd | ||
Hex、Oct | ||
3. 日付処理関数 日付を扱う関数。現在日時を取得したり、日付の間隔を求めたりするものが中心 |
Now、Date、Time | |
Year、Month、Day、Hour、Minute、Second、DatePart | ||
MonthName、Weekday、WeekdayName、DateAdd、DateDiff | ||
DateSerial、TimeSerial、DateValue、TimeValue、Timer | ||
4. データ型処理関数 データ型(後述)を調べたり、ほかの型に変換可能かどうかを調べたり、実際に変換を行ったりするもの |
TypeName、VarType | |
IsArray IsDate、IsNumeric、IsObject、IsEmpty、IsNull | ||
CBool、CByte、CCur、CDate、CDbl、CInt、CLng、CSng、CStr | ||
5. 配列処理関数 配列(後述)を取り扱う関数 |
Array、Filter、Join、Split | |
LBound、UBound | ||
6. そのほかの関数 1〜5に分類されないそのほかの関数。オブジェクトを扱うもの、ロケールを扱うもの、スクリプト・エンジンの情報を扱うものに大別できる |
CreateObject、GetObject、GetRef、LoadPicture、GetLocale、SetLocale | |
ScriptEngine、ScriptEngineBuildVersion、ScriptEngineMajorVersion、ScriptEngineMinorVersion | ||
RGB、Eval |
いかがだろうか。VBScriptのキーワードや関数名は英語が基になっているものが多いということはこれまでに述べたが、特に関数は英単語そのものが関数名になっているケースが多いことがお分かりいただけると思う。そのため、関数名から何をする関数なのかということが推測しやすくなっている。とはいえ、これを見ただけでいきなり関数を使いこなすのは無理だろう。
そこで以下では、これから各タイプの関数ごとに、よく使うものを中心に、サンプル・コードを交えながら詳しく解説していきたい。なお記事の都合上、すべての関数、すべての引数について説明しているわけではない。必要なら、各自ヘルプを参照し、情報を補足しながら読み進んでいただきたい。
Copyright© Digital Advantage Corp. All Rights Reserved.