当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2008年12月11日木曜日

固定回数の繰り返し処理

繰り返し処理の第?弾です。なんで、こんなに種類があるんでしょうね?どれを使って良いのか分からなくなってしまいます。

今回は、ループ回数があらかじめ分かっている場合の方法です。
For ~ Nextステートメントを使います。
このステートメントは、指定した回数だけループするのが特徴ですが、ループの途中で抜けることもできます。
Exit Forという命令です。
このExit ~というのは、繰り返し処理を抜けるのによく使いますが、唯一Whileステートメントだけには適用できません。

なので筆者はWhileステートメントは使わないです。同様の繰り返し処理ができるDo Whileステートメントを利用します。


恒例のサンプルは、ループする回数を最初に入力して、その分ループをします。
ループ中にダイアログを表示していますが、そこで、[キャンセル]ボタンをクリックすると、ループを強制的に抜けるようにしてあります。


Sub Click(Source As Button)
    Dim cnt As Variant 'ループ回数
    Dim i As Integer 'カウンタ
    Dim ret As Integer 'ダイアログの戻り値
    Dim msg As String 'メッセージ
    
    cnt = Inputbox( "ループする回数を入力してください。", "繰り返し回数入力" )
    If cnt = "" Or ( Not Isnumeric(cnt) ) Then
        Msgbox "ループ処理は行われません。", 0, "繰り返し処理"
    End If
    
    For i = 1 To cnt
        msg = "現在、" & i & "回目のループです。" & Chr$(10) &_
        "[キャンセル]をクリックすると、ループを抜けることができます。"
        
        'OKとキャンセルのボタンが付いたダイアログを表示する
        ret = Msgbox( msg, 0 + 1, "繰り返し処理" )
        'retが2の場合、キャンセルボタンがクリックされたことを意味する
        If ret = 2 Then
            'ループを強制的に抜ける
            Exit For
        End If
    Next
End Sub


Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: