変数 型宣言文字
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
Private Sub 型宣言文字() '**************************** '型宣言文字 '**************************** '変数を宣言 Dim NullVar, MyType$, StrVar$, IntVar%, CurVar@ Dim ArrayVar&(1 To 5), dbl# MyType = TypeName(StrVar) ' "String" を返します。 MsgBox MyType MyType = TypeName(IntVar) ' "Integer" を返します。 MsgBox MyType MyType = TypeName(CurVar) ' "Currency" を返します。 MsgBox MyType MyType = TypeName(NullVar) ' "Single" を返します。 MsgBox MyType MyType = TypeName(ArrayVar) ' "Long()" を返します。 MsgBox MyType MyType = TypeName(dbl) ' "Double" を返します。 MsgBox MyType 'Integer % 'Long & 'Single 'Double # 'String $ 'Currency @ End Sub '解説 '元々Basic言語(ベーシック)にはVariant(バリアント型)なるものは存在しなかった。 'Variant(バリアント型)の登場でVB関数の中にはString(文字列型)と新しく登場した 'Variant(バリアント型)を返すものがある。 '変数は宣言すると宣言された型の容量を確保する、よってVariant(バリアント型) 'が必要ない場合は容量の少ないString(文字列型)で返してやるほうがメモリー消費は少ない。 Private Sub test01() '*************************** '関数の返す値の型を指定する '*************************** '指定した文字コードに対応する文字を返します。 MsgBox Chr$(65) 'データをバイト データとして扱う MsgBox ChrB$(65) '現在のパスを求めます MsgBox CurDir$("C") '現在んお日付を求めます MsgBox Date$ 'ファイルの存在又はファイル名を求めます。 MsgBox Dir$("C:\WINDOWS\WIN.INI") 'エラーメッセージを求めます。 MsgBox Error$(61) 'フォーマットします。 MsgBox Format$("1", "0000#") '値を16進数で表します MsgBox Hex$(100) 'ファイルから 1 文字ずつ読み込んでいます Dim MyChar Open "TESTFILE" For Input As #1 ' ファイルを開きます。 Do While Not EOF(1) ' ファイルの終端までループを繰り返します。 MyChar = Input$(1, #1) ' 1 文字のデータを読み込みます。 Debug.Print MyChar ' イミディエイト ウィンドウに表示します。 Loop Close #1 'テキスト ファイルに含まれているバイト データを読み込む Open "TESTFILE" For Input As #1 ' ファイルを開きます。 Do While Not EOF(1) ' ファイルの終端までループを繰り返します。 MyChar = InputB$(1, #1) ' 1 文字のデータを読み込みます。 Debug.Print MyChar ' イミディエイト ウィンドウに表示します。 Loop Close #1 'アルファベットの大文字を小文字に変換する MsgBox LCase$("ABCDE") '文字列の左端から指定した文字数分の文字列を返します MsgBox Left$("ABCDE", 2) '文字列の左端から指定したバイト数分の文字列を取り出します MsgBox LeftB$("ABCDE", 2) '先頭のスペースを削除した文字列を表す値を返します。 MsgBox LTrim$(" ABCDE ") '文字列から指定した文字数分の文字列を返します MsgBox Mid$("ABCDE", 1, 2) '文字列から指定したバイト数分の文字列を返します MsgBox MidB$("ABCDE", 1, 2) '引数に指定した値を 8 進数で表すの値を返します。 MsgBox Oct$(459) '文字列の右端から指定した文字数分の文字列を返します MsgBox Right$("ABCDE", 2) '文字列の右端から指定したバイト数分の文字列を取り出します MsgBox RightB$("ABCDE", 2) '末尾のスペース削除した文字列を表す値を返します。 MsgBox RTrim$(" ABCDE ") ' 2 つの文字列の間にスペースを 10 個挿入します。 MsgBox "AB" & Space(10) & "CDE" '数式の値を文字列で表した値 (数字) で返す MsgBox Str$(11122) '現在の時刻を求めます MsgBox Time$ '先頭と末尾の両方のスペース削除した文字列を表す値を返します。 MsgBox Trim$(" ABCDE ") 'アルファベットの小文字を大文字に変換する MsgBox UCase$("abcdef") End Sub |