タイトル : Re: GetObject 投稿日 : 2008/06/26(Thu) 10:24 投稿者 : いな
>if keyList = "" then > >ならばkeyListが""の時、For文を実行しようとしている? >と見えるのですがそこは、大人の対応でさらっとスルーして置きます。 こんな感じでいかが?配列の要素数をUboundなどで調べてみましょう。 ここでは、動的配列であるKeyListが初期化されていない可能性を考慮し、 少し工夫した自作関数を利用しています。 if cmnUbound(keyList) >= 0 then For Each varKey In keyList If .GetStringValue(HKEY_LOCAL_MACHINE, _ subkey & "\" & varKey, KeyName, varValue) = 0 Then 略 End If Next end if '********************************************************************* ' 機 能 : 配列の要素数を返す ' 引 き 数 : Ary 配列 '********************************************************************* Public Function cmnUBound(Ary() As Variant) As Long On Error GoTo cmnUBound_ERR cmnUBound = UBound(Ary) Exit Function cmnUBound_ERR: If Err.Number = 9 Then cmnUBound = -1 End If End Function |