[リストへもどる]
一括表示

投稿時間:2003/12/22(Mon) 18:45
投稿者名:九十九
Eメール:
URL :
タイトル:
配列のサイズの取得
Dim arr_str(1 to 50) As String
とすると、arr_str(1)〜arr_str(50)の50個が作られますが
この50という要素数を取得したいのですが、どうすればできますか。

投稿時間:2003/12/22(Mon) 19:02
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: 配列のサイズの取得
この事でしょうか?
Private Sub Command1_Click()
    Dim arr_str(1 To 50) As String
    Debug.Print LBound(arr_str), UBound(arr_str)
End Sub

上記でよければ、ここの「VB簡易リファレンス」にも目を通しておいて下さい。

投稿時間:2003/12/24(Wed) 00:02
投稿者名:九十九
Eメール:
URL :
タイトル:
Re^2: 配列のサイズの取得
> この事でしょうか?
> Private Sub Command1_Click()
>     Dim arr_str(1 To 50) As String
>     Debug.Print LBound(arr_str), UBound(arr_str)
> End Sub
>
> 上記でよければ、ここの「VB簡易リファレンス」にも目を通しておいて下さい。

UBoundを使用すると、要素の数がとれるのですが、
例えば、
Dim arr_str(0 To 50) As String
Dim arr_str(10 To 50) As String
Dim arr_str(50) As String
の様な場合、51とか、40とか、50とかを取得したいのですが。

投稿時間:2003/12/24(Wed) 01:08
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re^3: 配列のサイズの取得
> の様な場合、51とか、40とか、50とかを取得したいのですが。
51 41 51 になるのでは?。 計算できませんか?

    Dim arr_str(0 To 50) As String
    Dim arr_str1(10 To 50) As String
    Dim arr_str2(50) As String
    Debug.Print UBound(arr_str) - LBound(arr_str) + 1
    Debug.Print UBound(arr_str1) - LBound(arr_str1) + 1
    Debug.Print UBound(arr_str2) - LBound(arr_str2) + 1

投稿時間:2003/12/24(Wed) 12:47
投稿者名:九十九
Eメール:
URL :
タイトル:
ありがとうございます。
>     Dim arr_str(0 To 50) As String
>     Dim arr_str1(10 To 50) As String
>     Dim arr_str2(50) As String
>     Debug.Print UBound(arr_str) - LBound(arr_str) + 1
>     Debug.Print UBound(arr_str1) - LBound(arr_str1) + 1
>     Debug.Print UBound(arr_str2) - LBound(arr_str2) + 1
ありがとうございます。