1

ねえ、私は次のコードを持っています:

Dim validFileTypes As String() = {".bmp", ".gif", ".png", ".jpg", ".jpeg", ".tif"}

For x = 0 To NumberOfBoxes - 1
        With myTxtData(x)
            If Not Fields("customField" & z).Value.Equals(DBNull.Value) Then
                If InStr(Fields("customField" & z).Value, "@") <> 0 Then
                    'Lower case the email address
                    .Text = StrConv(Fields("customField" & z).Value, VbStrConv.Lowercase)
                ElseIf InStr(StrConv(Fields("customField" & z).Value, VbStrConv.Lowercase), ".jpg") <> 0 Then
                    'It contains an image!
                Else
                    .Text = StrConv(Fields("customField" & z).Value, VbStrConv.ProperCase)
                End If
  etc etc.....

私がこのようにチェックする代わりに:

ElseIf InStr(StrConv(Fields("customField" & z).Value, VbStrConv.Lowercase), ".jpg") <> 0 
OR InStr(StrConv(Fields("customField" & z).Value, VbStrConv.Lowercase), ".png") <> 0 
OR InStr(StrConv(Fields("customField" & z).Value, VbStrConv.Lowercase), ".gif") <> 0 
...etc...

定義したvalidFileTypesを使用して、同じことをより少ないコードで行うにはどうすればよいですか?

4

1 に答える 1

1

おそらく少しのコードを追加する必要がありますが、これで正しい道をたどることができます。

Dim isImage as Boolean = False

For each validFileType in validFileTypes
     If InStr(StrConv(Fields("customField" & z).Value, VbStrConv.Lowercase), validFileType) <> 0 Then
         isImage = True
     End If
Next
于 2012-11-30T21:05:00.577 に答える