📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

ページの作成:「== 概要 == <br><br> == Option Explicit == <code>Option Explicit</code>を使用する場合、全ての変数を明示的に宣言する必要がある。<br> これにより、タイプミスによるバグを防ぐことができる。<br> <br><br> == 基本的なデータ型 == 各変数は、<code>Dim</code>キーワードを使用して宣言する。<br> 変数名の後に<code>As</code> <データ型>を指定して、変数の型を定義する。<br> <…」
 
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
 
変数は、プログラム内でデータを一時的に格納するためのメモリ領域である。<br>
変数名を使用してデータにアクセスして、プログラムの実行中に値を変更することができる。<br>
<br>
また、<code>Option Explicit</code>キーワードを使用するこにより、全ての変数を明示的に宣言する必要があり、タイプミスによるバグを防ぐことができる。<br>
<br>
Visual Basic 6は様々なデータ型を提供している。<br>
* 数値型 (Integer、Long、Single、Double)
*: 計算処理に使用される。
* 文字列型 (String)
*: テキストデータの処理に使用される。
* 論理型 (Boolean)
*: 真偽値の判定に使用される。
* 日付型 (Date)
*: 日付と時刻の処理に特化している。
* Variant型
*: あらゆるデータ型を格納できる柔軟な型である。
<br>
変数のスコープは、その変数がアクセス可能な範囲を定義する。<br>
モジュールレベル変数はそのモジュール全体で、プロシージャレベル変数はそのプロシージャ内でのみ有効である。<br>
<br>
<code>Private</code>キーワードは同じモジュール内でのみアクセス可能、<code>Public</code>キーワードはプロジェクト全体からアクセス可能な変数を定義する。<br>
<code>Static</code>変数はプロシージャが終了しても値を保持する特殊な変数である。<br>
<br>
固定長配列は宣言時にサイズを指定、動的配列は実行時にサイズを変更できる。<br>
<code>ReDim</code>ステートメントで配列のサイズを変更でき、<code>Preserve</code>キーワードを使用すると既存のデータを保持したままサイズを変更することができる。<br>
<br>
また、Collection、Dictionary等のオブジェクトを使用することにより、柔軟なデータ管理が可能である。<br>
<br><br>
<br><br>


71行目: 97行目:
  ' 配列のサイズ変更 (既存データを保持)
  ' 配列のサイズ変更 (既存データを保持)
  ReDim Preserve arrDynamic(30)
  ReDim Preserve arrDynamic(30)
</syntaxhighlight>
<br><br>
== Collection ==
キーと値のペアを管理できるが、キーは文字列のみである。<br>
順序が保持され、インデックス番号でもアクセス可能である。<br>
<br>
主に、データの順序付きリストとして使用される。<br>
<br>
* Countプロパティ
*: 要素数を取得する。
* Itemメソッド
*: 要素を取得する。(デフォルトメソッド)
* Beforeメソッド / Afterメソッド
*: 特定の位置に項目を挿入する。
<br>
<syntaxhighlight lang="vb">
Dim colItems As New Collection
' 項目の追加(Add)
colItems.Add "データ1", "key1"
colItems.Add "データ2", "key2"
colItems.Add "データ3"  'キー省略可能
' 項目の取得
Debug.Print colItems("key1")    'キーで取得
Debug.Print colItems(1)        'インデックスで取得
' コレクションの走査
Dim varItem As Variant
For Each varItem In colItems
    Debug.Print varItem
Next
' 項目の削除
colItems.Remove "key1"    'キーで削除
colItems.Remove 1        'インデックスで削除
</syntaxhighlight>
<br><br>
== Dictionary ==
より柔軟な連想配列である。<br>
キーには文字列以外の型も使用でき、任意の型の値を格納することができる。<br>
<br>
ハッシュテーブルベースで実装されているため、大量のデータを扱う場合はCollectionより高速である。<br>
<br>
また、Exists関数でキーの存在が確認できる。<br>
ただし、インデックス番号での参照はできない。<br>
<br>
<syntaxhighlight lang="vb">
Dim dicItems As New Dictionary
' 項目の追加
dicItems.Add "名前", "山田太郎"
dicItems.Add "年齢", 30
dicItems.Add "住所", "東京都"
' 項目の取得
Debug.Print dicItems("名前")
' 存在確認
If dicItems.Exists("年齢") Then
    Debug.Print dicItems("年齢")
End If
' 項目の変更
dicItems("住所") = "大阪府"
' 全てのキーを取得
Dim varKey As Variant
For Each varKey In dicItems.Keys
    Debug.Print varKey & ": " & dicItems(varKey)
Next
' 項目の削除
dicItems.Remove "住所"
' 全項目の削除
dicItems.RemoveAll
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>