【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
 

基礎解説

チェック式 WSH入門
―― 演習方式で身につけるWSH超入門 ――

第5回 データ型について理解を深めよう

1.VBScriptのデータ型

Microsoft MVP
Visual Developer - Scripting
牟田口 大介
2006/09/22

Index(全19回)
WSHを始めよう
VBScriptの基本を押さえよう(その1) 文字列の入出力
VBScriptの基本を押さえよう(その2) 計算と分岐処理
関数を使いこなす(その1) 文字列、数値、日付を扱う関数
データ型について理解を深めよう
VBScriptの配列を極める
Subプロシージャでユーザー独自の処理を定義する
Functionプロシージャでユーザー独自の関数を定義する
VBScriptのオブジェクトを使いこなす
WScriptオブジェクトを利用する(1)
WScriptオブジェクトを利用する(2)
WshShellオブジェクトを利用する(1)
WshShellオブジェクトを利用する(2)
WshShellオブジェクトを利用する(3)
WshNetworkオブジェクトを利用する
FileSystemObjectオブジェクトを利用する(1)
FileSystemObjectオブジェクトを利用する(2)
FileSystemObjectオブジェクトを利用する(3)
TextStreamオブジェクトとDictionaryオブジェクトを使う[最終回]

 前回は、文字列、数値、日付を扱うVBScriptの関数を取り上げ、それらを単独、あるいは組み合わせて使用することで、さまざまな処理が可能になることを示した。今回は前回に引き続きVBScriptの関数のうち、データ型を扱うものを取り上げるとともに、VBScriptにおけるデータ型の概念と利用法について説明する。

VBScriptのデータ型

 前回述べたように、データ型(単に「型」ともいう)とは変数の種類であり、VBScriptには文字列を扱う文字列型、日付や時刻を扱う日付型などがあると便宜上これまで説明してきた。しかし、実は、VBScriptで扱われる変数はすべて、どんな値でも格納できるバリアント(Variant)型であり、文字列を扱う文字列型や日付・時刻を扱う日付型といった特定のものは厳密にいうと存在しない。が、バリアント型の変数に値を格納すると、その値の種類に応じて(例えば文字列なら文字列型として)機能するので、実質的にはVBScriptにはさまざまな型が存在するものとして考えるべきである。VBScriptのヘルプには、例えば文字列を扱う型のことを「バリアント型 (内部処理形式が文字列型 (String) の Variant)」などと表現しているが、本稿ではこれを単に「文字列型」あるいは「String」と呼ぶことにする。

 そもそもVBScriptの基になったVisual Basic言語(以下VB)では、Dimステートメント中で、


Dim x As String

のように、変数名と型名(As以下の部分)を同時に宣言する(As以下は省略可能だが、省略するとVBScriptと同じくバリアント型として扱われる)。この例ではString(文字列型)のxという名前の変数を宣言していることになる。VBなど一般的なプログラミング言語では変数名と型名を同時に宣言するが、VBScriptなどのスクリプト言語の多くでは、厳密な型宣言をさせず、データ型をあいまいに扱うことで、コードの記述量を減らせるように工夫しているのである。ただし、実際にVBScriptでコードを書くときは、特に複雑な長いコードになってくると、変数のデータ型を考慮しないとうまく実行できないなどのトラブルに付きまとわれることになる。そのためデータ型に関する知識は不可欠なものとなる。

 これまでに登場した型も含めて、VBScriptで扱う型を一覧にしたのが次の表だ。

種類 データ型名
(英語名)
説明 接頭辞(プリフィックス)
整数値を扱うデータ型 整数型
(Integer)
-32,768〜32,767の範囲の整数値を持つデータ型 int、i
長整数型
(Long)
-2,147,483,648〜2,147,483,647の範囲の整数値を持つデータ型 lng、l
バイト型
(Byte)
0〜255の範囲の整数値を持つデータ型 byt
実数値を扱うデータ型 単精度浮動小数点型
(Single)
負の値:-3.402823E38(-3.402823×10の38乗)〜-1.401298E-45(-1.401298×10の-45乗)、
正の値:1.401298E-45〜3.402823E38の範囲の単精度浮動小数点数を持つデータ型
sng
倍精度浮動小数点型
(Double)
負の値:-1.79769313486232E308〜-4.94065645841247E-324、
正の値:4.94065645841247E-324〜1.79769313486232E308の範囲の倍精度浮動小数点数を持つデータ型
dbl、d
通貨型
(Currency)
-922,337,203,685,477.5808〜922,337,203,685,477.5807の範囲の値を持つデータ型(小数点以下は4けた) cur
そのほかのデータ型 日付(時刻)型
(Date)
西暦100年1月1日〜西暦9999年12月31日の日付を表す数字を持つデータ型 dtm、dt
文字列型
(String)
約2Gbytesまでの文字を格納できる可変長文字列を持つデータ型 str、s
ブール型
(Boolean)
真(True)か偽(False)のどちらかの値を持つデータ型 bln、b
エラー型
(Error)
エラー番号を持つデータ型 err
オブジェクト型
(Object)
オブジェクトを参照するデータ型 obj、o
VBScriptのデータ型

 ご覧のように、VBScriptのデータ型は整数値を扱うもの、実数値を扱うもの、そのほかのもの、に分けられる。後でこれらのデータ型を詳しく説明する。

 なお接頭辞(プリフィックス)とは、変数名の先頭に慣用的に付ける文字である。例えば、文字列型にはstrInformation、sInformationのような名前を付けるのがよい。VBScriptでは型宣言ができないため、代わりに変数名を見ると型名が分かるように工夫するわけである。


 INDEX
  [基礎解説]チェック式 WSH入門
  第5回 データ型について理解を深めよう
  1.VBScriptのデータ型
    2.形名の調査と数値データ型
    3.ブール・データ型
    4.暗黙の型変換
    5.明示的な型変換と特殊な値
 
 基礎解説

ホワイトペーパーTechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています