📢 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> | ||