タイトル : 解決☆ 投稿日 : 2008/06/26(Thu) 10:47 投稿者 : VB
> > >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 なるほど〜。 こんな方法があったんですね。。 本当に助かりました。 ありがとうございました。。<(_ _)> |