私はExcel VBAでプログラミングしています。配列にデータが含まれています
私はエクスプローラウィンドウを開いてファイルを選択し、そのファイルの名前を配列に返します。
アレイが満たされているかどうかを確認する必要があります。私はif FileNames(1) <> "" Then
を試しましたが、配列に何かがある場合は動作します。しかし、配列が空の場合、私はtype mismatch
というエラーになります。私がIf FileNames <> False Then
しようとすると、配列に何も含まれていないときに動作しますが、配列に何かがあるときにtype mismatch
エラーが表示されます。私はDim FileNames
のような通常の変数と同じように配列を持っていますが、私もDim FileNames() as String
を試してみました。ファイルを選択するかどうかにかかわらず、type mismatch
エラーが発生します。ここで私が持っているコードです:
sub GetUserInfo()
Dim FileNames
FileNames = Select_File_Or_Files_Windows 'This opens the Explorer window and allows you to pick multiple files
If FileNames(1) <> "" Then
'Do something
Else
'Do the last thing
End If
End Sub
を試みることができます助けます。 'IsArrayAllocated'関数を参照してください。 – Brian
関数 'Select_File_Or_Files_Windows'のコードを表示すると便利です。返り値 –
の作成方法を見ることができます。' Select_File_Or_Files_Windows'は、文字列以外の配列または非配列をほぼ確実に返します。これは、型の不一致をもたらす試みた唯一のものです。それ以外のものは、範囲外の添え字や次元の不一致などの結果に終わるでしょう。 'Filenames'の値が返ってきたらそれを再度チェックし、その中のすべての値が文字列であることを確認してください。 – Mikegrann