|
りん さん こんにちは。
少し時間が空いてしまいましたが、また少し教えてください!
>>'判定する関数
>>関数tp1 arg1:判定基準の文字列, NN:チェックするキーワードの数(上限)
>>Function tp1(arg1 As String, NN As Integer) As Boolean
>> Dim flg As Boolean, s1 As Variant, II As Integer, Imax As Integer
>> s1 = Array("不要", "必要", "賞味期限") 'チェックするキーワードのリスト
>> '念のため配列の上限をチェック
>> If NN > UBound(s1) + 1 Then Imax = UBound(s1) Else Imax = NN - 1
>> For II = 0 To Imax
>> flg = flg Or Left(arg1, Len(s1(II))) = s1(II)
>> Next
>> tp1 = flg
>>End Function
>
>↑のUBound、使ったことないのですが、ヘルプなどで見て
>分かっていたつもりでしたが、実は分かっていないことに気づきました。
>もう一度UBoundやLBoundとは何か?を調べて、改めてこのコードを自分なりに
>理解したいと思います。
UBoundについては理解したと思います。
上記のコードも実際に動かして見たりして、大まかな理解したと思うのですが、
>> flg = flg Or Left(arg1, Len(s1(II))) = s1(II)
のflg = flg が、何なのかよく分かりません。
また、コードは
>> s1 = Array("不要", "必要", "賞味期限")
のリストの例えば全部とか、2番目までで判定してね、
などと指定するのですよね?
もし、表1のKeywordが("不要", "必要", "賞味期限") とした場合の
表2のKeywordが("不要", "必要", "廃棄","新品") などと
一部が異なる場合、はどのように分岐したらいいのでしょうか。
教えていただけたらと思います。
よろしくお願いします。
|
|