VB6 関数


■StrComp 関数
 
 文字列比較の結果を表すバリアント型 (内部処理形式 String の Variant) の値を返します。
 
 構文  
 
 StrComp(string1, string2[, compare])

 StrComp 関数の構文は、次の名前付き引数から構成されます。

指定項目 内容
string1 必ず指定します。任意の 文字列式を指定します。
string2 必ず指定します。任意の文字列式を指定します。
compare 省略可能です。文字列比較のモードを指定する番号を設定します。
名前付き 引数 compare が Null 値の場合は、エラーが発生します。
compare を省略すると、Option Compare ステートメントの設定により比較モードが決まります。

 設定値
 
 引数 compare の設定値は次のとおりです。
定数 説明
vbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare 0 バイナリ モードの比較を行います。
vbTextCompare 1 テキスト モードの比較を行います。
vbDatabaseCompare 2 Microsoftデータベースに格納されている設定に基づいて比較を行います。 Access の場合のみ有効。

 戻り値
 
 StrComp 関数の戻り値は次の通りです。

内容 戻り値
string1string2 未満 -1
string1string2 は等しい 0
string1string2 を超える 1
string1 または string2 Null 値 NULL値

 用法
  dim rcd as variant


■StrConv 関数

 変換した文字列をバリアント型 (内部処理形式 String の Variant) で返します。

 構文

 StrConv(string, conversion, LCID)

 StrConv 関数の構文は、次の
 名前付き引数から構成されます。

指定項目 内容
string 必ず指定します。変換する 文字列式を指定します。
conversion 必ず指定します。 整数型 (Integer) の値を指定します。実行する変換の種類の値の合計を指定します。
LCID 省略可能です。システムとは異なる国別情報識別子 (LCID) を指定できます。既定値はシステムが使用する LCID です。

 設定値

 名前付き
 引数 conversion には、次のいずれかの定数または値を指定します。

定数 説明
vbUpperCase 1 文字列を大文字に変換します。
vbLowerCase 2 文字列を小文字に変換します。
vbProperCase 3 文字列の各単語の先頭の文字を大文字に変換します。
vbWide* 4* 文字列内の半角文字 (1 バイト) を全角文字 (2 バイト) に変換します。
vbNarrow* 8* 文字列内の全角文字 (2 バイト) を半角文字 (1 バイト) に変換します。
vbKatakana** 16** 文字列内のひらがなをカタカナに変換します。
vbHiragana** 32 文字列内のカタカナをひらがなに変換します。
vbUnicode 64 システムの既定のコード ページを使って文字列を Unicode に変換します。
vbFromUnicode 128 文字列を Unicode からシステムの既定のコード ページに変換します。

 *  国別情報の設定が中国、韓国、および日本の場合に適用されます。

 ** 国別情報の設定が日本の場合のみ有効です。

 メモ これらの
 定数は Visual Basic で定義されているものです。したがって、コードの中の任意の場所で、実際の値の代わりに
 使用できます。
 通常、定数は互いに矛盾しない限り、組み合わせて指定できます。
 たとえば、定数 vbUpperCase と vbWide を組み合わせることはできます。
 しかし、定数 vbUnicode と vbFromUnicode は指定内容が矛盾するため、組み合わせることはできません。
 また、不適切な場所で定数 vbWide、vbNarrow、vbKatakana、および vbHiragana を指定した場合は、実行時エラーが
 発生します。

 大文字/小文字を正しく区別する単語セパレータは、
 Null 値 (Chr$(0))、水平タブ (Chr$(9))、ライン フィード (Chr$(10))、垂直タブ (Chr$(11))、フォーム フィード (Chr$(12))、
 キャリッジ リターン (Chr$(13))、およびスペース (SBCS の場合) (Chr$(32)) です。
 DBCS のスペースの実際の値は、国によって異なります。

 解説

 ANSI 形式のバイト型配列を文字列に変換する場合は、StrConv 関数を使用してください。
 Unicode 形式の配列を変換する場合は、代入式を使用してください。

 用法
 基本的には Shift-JIS の文字列は VB では直接扱うことができませんので、StrConv 関数などで Unicode に変換します。
 Dim staB(13) As Byte
 Dim varStr As String
 Dim strUni As String
 'SJISコードを配列にセット
 staB(0) = &H82
 staB(1) = &HD6
 staB(2) = &H82
 staB(3) = &HF1
 staB(4) = &H82
 staB(5) = &HA9
 staB(6) = &H82
 staB(7) = &HF1

 staB(8) = &H20
 staB(9) = &HCD
 staB(10) = &HDD
 staB(11) = &HB6
 staB(12) = &HDD

 '配列から文字列に変換
 varStr = staB
 'SJISコードからUnicodeに変換
 strUni = strConv(varStr, vbUnicode)
 '変換文字の画面表示
 MsgBox "SJIS文字列表示(変換前):" & varStr
 MsgBox "UniCode文字列表示(変換後)" & strUni

■MsgBox 関数


整数型 (Integer) の値を返します。ダイアログ ボックスにメッセージを表示し、ボタンがクリックされるのを待って、どのボタンがクリックされたのかを示す値を返します。

構文

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

MsgBox 関数の構文は、次の名前付き引数から構成されます。

指定項目 内容
prompt 必ず指定します。ダイアログ ボックス内にメッセージとして表示する文字列を示す 文字列式を指定します。
名前付き引数 prompt に指定できる最大文字数は、1 バイト文字で約 1,024 文字です。
ただし、使う文字の文字幅に依存します。
名前付き引数 prompt に複数行を指定する場合は、キャリッジ リターン (Chr(13))、ライン フィード (Chr(10))、またはキャリッジ リターンとライン フィードの組み合わせ (Chr(13) & Chr(10)) を改行する位置に挿入し、行を区切ってください。
buttons 省略可能です。
表示されるボタンの種類と個数、使用するアイコンのスタイル、標準ボタン、メッセージ ボックスがモーダルかどうかなどを表す値の合計値を示す 数式を指定します。
省略すると、名前付き引数 buttons の既定値 0 になります。
title 省略可能です。ダイアログ ボックスのタイトル バーに表示する文字列を示す文字列式を指定します。
名前付き引数 title を省略すると、タイトル バーにはアプリケーション名が表示されます。
helpfile 省略可能です。
ダイアログ ボックスに状況依存のヘルプを設定するために、使用するヘルプ ファイルの名前を示す文字列式を指定します。
この引数は、表示するダイアログ ボックスの説明をヘルプを使って表示するときに指定します。
名前付き引数 helpfile を指定した場合は、引数 context も指定する必要があります。
context 省略可能です。ヘルプ トピックに指定したコンテキスト番号を表す数式を指定します。
名前付き引数 context を指定した場合は、引数 helpfile も指定する必要があります。

設定値

名前付き
引数 buttons には、次の値のうち、該当する値の合計値を指定します。

定数 内容
vbOKOnly 0 [OK] ボタンのみを表示します。
vbOKCancel 1 [OK] ボタンと [キャンセル] ボタンを表示します。
vbAbortRetryIgnore 2 [中止]、[再試行]、および [無視] の 3 つのボタンを表示します。
vbYesNoCancel 3 [はい]、[いいえ]、および [キャンセル] の 3 つのボタンを表示します。
vbYesNo 4 [はい] ボタンと [いいえ] ボタンを表示します。
vbRetryCancel 5 [再試行] ボタンと [キャンセル] ボタンを表示します。
vbCritical 16 警告メッセージ アイコンを表示します。
vbQuestion 32 問い合わせメッセージ アイコンを表示します。
vbExclamation 48 注意メッセージ アイコンを表示します。
vbInformation 64 情報メッセージ アイコンを表示します。
vbDefaultButton1 0 第 1 ボタンを標準ボタンにします。
vbDefaultButton2 256 第 2 ボタンを標準ボタンにします。
vbDefaultButton3 512 第 3 ボタンを標準ボタンにします。
vbDefaultButton4 768 第 4 ボタンを標準ボタンにします。
vbApplicationModal 0 アプリケーション モーダルに設定します。メッセージ ボックスに応答するまで、現在選択中のアプリケーションの実行を継続できません。
vbApplicationModal 4096 システム モーダルに設定します。メッセージ ボックスに応答するまで、すべてのアプリケーションが中断されます。
vbSystemModal 16384 ヘルプ ボタンを追加します。
vbMsgBoxHelpButton 65536 最前面のウィンドウとして表示します。
VbMsgBoxSetForeground 524288 テキストを右寄せで表示します。
vbMsgBoxRtlReading 1048576 テキストを、右から左の方向で表示します。

最初のグループに属する値 (0 〜 5) は、ダイアログ ボックスに表示されるボタンの種類と個数を指定します。
次のグループに属する値 (16、32、48、64) は、アイコンの種類を指定します。
第 3 のグループに属する値 (0、256、512) は、どのボタンが標準ボタンになるかを指定します。
最後のグループに属する値 (0、4096) は、メッセージ ボックスがモーダルかどうかを指定します。
名前付き引数 buttons の値を設定するには、各グループから値を 1 つずつ選択して加算した合計値を指定します。

メモ   ここに示した
定数は Visual Basic for Applications で設定されています。したがって、これらの定数はコード内の任意の場所で実際の値を記述する代わりに使用できます。

戻り値

定数 説明
vbOK 1 [OK]
vbCancel 2 [キャンセル]
vbAbort 3 [中止]
vbRetry 4 [再試行]
vbIgnore 5 [無視]
vbYes 6 [はい]
vbNo 7 [いいえ]

解説

名前付き引数 helpfile および context を指定すると、F1 キーを押すことにより、コンテキスト番号に対応したヘルプ トピックを参照できます。
ホスト アプリケーションによっては、自動的に [ヘルプ] ボタンが追加されます。

[キャンセル] ボタンが表示されているダイアログ ボックスでは、Esc キーを押すと、[キャンセル] ボタンをクリックしたときと同じ結果になります。
ダイアログ ボックスに [ヘルプ] ボタンが表示されているときは、そのダイアログ ボックスには状況依存のヘルプが設定されています。
ただし、[ヘルプ] ボタン以外のボタンがクリックされるまでは、値を返しません。

メモ   名前付き引数 prompt 以外の引数も指定する場合は、式の中で MsgBox 関数を使う必要があります。
この場合、引数を省略するには、それに対応するカンマ区切り記号を記述します。

用法
Ret = MsgBox(#エラーが発生しました:# & Chr$(13) & #エラー内容 = # & Result_txt & Chr$(13) & _
 #再テストしますか?#, vbYesNo, ##)

If Ret = vbYes Then

■Split 関数

機能

各要素ごとに区切られた文字列から 1 次元配列を作成し、返します。

構文

Split(expression[, delimiter[, count[, compare]]])

Split 関数の構文は、次の指定項目から構成されます。

指定項目 内容
expression 必ず指定します。
文字列と区切り文字を含んだ 文字列式を指定します。
引数 expression が長さ 0 の文字列 ("") である場合、Split 関数は、要素もデータもない空の配列を返します。
delimiter 省略可能です。
文字列の区切りを識別する文字を指定します。
引数 delimiter を省略すると、区切り文字にスペース (" ") が使用されます。
引数 delimiter が長さ 0 の文字列 ("") である場合は、引数 expression 全体の文字列を含む単一の要素の配列を返します。
count 省略可能です。
返す配列の要素数を指定します。
-1 を指定すると、すべての文字列を含んだ配列を返します。
compare 省略可能です。
文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。
設定する値については、次の「設定値」を参照してください。

設定値

引数 compare の設定値は次のとおりです。

定数 説明
VbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare 0 バイナリ モードで比較を行います。
vbTextCompare 1 テキスト モードで比較を行います。
vbDatabaseCompare 2 Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較を行います。

用法
Dim asi_tab() As String

If strAaa <> "" Then
  asi_tab() = Split(strAaa, #,#, -1, vbTextCompare)
Else
  asi_tab() = Split(#,,,,,,,,#, #,#, -1, vbTextCompare)
End If

■Mid 関数

バリアント型 (内部処理形式 String の Variant) の値を返します。文字列から指定した文字数分の文字列を返します。

構文

Mid(string, start[, length])

Mid 関数の構文は、次の名前付き引数から構成されます。

指定項目 内容
string 必ず指定します。
文字列を取り出す、元の文字列式を指定します。名前付き引数stringにNull値が含まれている場合は、Null値を返します。
start t必ず指定します。
長整数型(Long)の値を指定します。
名前付き引数stringの先頭の位置を1として、どの位置から文字列を取り出すかを先頭からの文字数で指定します。
startがstringの文字数を超える場合、Mid関数は長さ0の文字列("")を返します。
length 省略可能です。
バリアント型(内部処理形式Long)の値を指定します。取り出す文字数を指定します。
名前付き引数lengthを省略した場合、または文字列内にlengthより短い文字数しかない場合には、startから後のすべての文字が返されます。

解説

名前付き引数 string の文字数を決定するときに Len 関数を使用します。

メモ 文字列をバイト データとして扱う場合は、MidB 関数を使用します。MidB 関数はバイト単位で文字列を取り出します。
MidB 関数には、文字数でなく、バイト数を指定します

■InStr 関数

バリアント型 (内部処理形式 Long の Variant) の値を返します。
ある文字列 (string1) の中から指定した文字列 (string2) を検索し、
最初に見つかった文字位置 (先頭からその位置までの文字数) を返す文字列処理関数です。

構文

InStr([start, ]string1, string2[, compare])

Instr 関数の構文は、次の引数から構成されます。

指定項目 内容
start 省略可能です。
検索の開始位置を表す 数式を指定します。
省略すると、先頭の文字から検索されます。
引数 start に Null 値が含まれている場合、エラーが発生します。
引数 compare を指定した場合は、start も指定する必要があります。
string1 必ず指定します。検索対象となる 文字列式を指定します。
string1 必ず指定します。引数 string1 内で検索する文字列式を指定します。
compare 省略可能です。 文字列比較の比較モードを指定する番号を設定します。
引数 compare が Null 値の場合は、エラーが発生します。
引数 compare を指定した場合は、引数 start も指定する必要があります。
引数 compare を省略すると、Option Compare ステートメントの設定に応じて、比較モードが決まります。

設定値

引数 compare の設定値は次のとおりです。

定数 説明
vbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare 0 バイナリ モードの比較を行います。
vbTextCompare 1 テキスト モードの比較を行います。
vbDatabaseCompare 2 Microsoft Access の場合のみ有効。

戻り値

内容
string1 が長さ 0 の文字列 ("") のとき 0
string1 が Null 値のとき Null 値
string2 が長さ 0 の文字列 ("") のとき start
string2 が Null 値のとき Null 値
string2 が見つからないとき 0
string2 が string1 内で見つかったとき 見つかった文字列の位置
start の値が string1 の文字数を超えるとき 0

解説

文字列をバイト データとして扱う場合は、InStrB 関数を使用します。InStrB 関数は検索結果をバイト位置 (先頭からその位置までのバイト数) で返します。

用法
InStr 関数の使用例
次の例は、InStr 関数を使って、ある文字列の中から指定した文字列を検索し、最初に見つかった位置を返します。

Dim SearchString, SearchChar, MyPos

SearchString ="XXpXXpXXPXXP"  ' 検索対象の文字列を定義します。
SearchChar = "P"  ' "P" を検索します。

' 文字単位の比較を位置 4 から開始すると、6 が返されます。
MyPos = Instr(4, SearchString, SearchChar, 1)

' ビット単位の比較を位置 1 から開始すると、9 が返されます。
MyPos = Instr(1, SearchString, SearchChar, 0)

' 既定のビット単位の比較を行います(最後の引数を省略した場合)。
MyPos = Instr(SearchString, SearchChar)  ' 9 を返します。

MyPos = Instr(1, SearchString, "W")  ' 0 を返します。


Visual Basicはかなり以前からのWindowsの開発言語ですので、言語に精通されている方も多いのではないかと思います。
では、最新のWindows環境でのVisual Basicはどうでしょうか?
又、データベースとの連携、アプリケーションの構築についてはどうでしょうか?
Visual Basicもバージョンがかなり上がって現在はVisual Studio 2008が(Visual Basic 9.0)主流です。
バージョンが上がったことにより
  1. 以前のバージョンとの互換性は?
  2. 統合開発環境で便利になった機能の操作性はどうか?
  3. データベースとのハンドリングがどの様に便利になったのか?
が気になります。

バージョンが上がった際には書籍により概要をつかんだのちに、実際に使用してみるのが良いと思います。
次のような本をお勧めします。
明快入門 Visual Basic 2008 ビギナー編 (林晴比古実用マスターシリーズ)
Visual Basic 2008逆引き大全555の極意
ひと目でわかるMicrosoft Visual Basic 2008 データベース開発入門 (マイクロソフト公式解説書)
ひと目でわかるMicrosoft Visual Basic 2008 Webアプリケーション開発入門 (マイクロソフト公式解説書)
 

【HOME】

Copyright © 2008-2010 Haruの風自宅サーバ構築 All Rights Reserved.