VBA初心者です。ご回答よろしくお願いいたします。
変数宣言せずにDIRを用いて、ファイル名を取得しようとするとエラーが発生します。
逆に、変数宣言してから行うと、作動します。
その理由を教えて頂けませんか。
問題のコード
Sub test12()
Do While Dir("C:\データ\フォルダ*.xlsx") <> ""
MsgBox Dir("C:\データ\フォルダ*.xlsx")
Dir("C:\データ\フォルダ*.xlsx") = Dir
Loop
End Sub
エラー文
代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さなければなりません。
※この問題のコードの
Dir("C:\データ\フォルダ.xlsx")を変数宣言すると、エラーなく作動します。*
Sub test11()
Dim 呼び出しデータ As String
呼び出しデータ = Dir("C:\データ\フォルダ*.xlsx")
Do While 呼び出しデータ <> ""
MsgBox 呼び出しデータ
呼び出しデータ = Dir
Loop
End Sub
※MsgBox TypeName(Dir("C:\データ\フォルダ*.xlsx"))はSTRINGと表示されました。
Dir("C:\データ\フォルダ\*.xlsx") = Dir
これってなにをしてるつもりなんでしょう
コンパイルエラー:
代入式の左辺の関数呼び出しは、バリアント型またはオブジェクト型の値を返さなければなりません。
よろしくお願い致します。
ああ、いきちがいになってしまいました
Dir("C:\データ\フォルダ\*.xlsx") = Dir
これってなにをしてるつもりなんでしょう
変数宣言したコードの
『呼び出しデータ = Dir』
は正常に動いたので
変数宣言せずに
『Dir("C:\データ\フォルダ\*.xlsx") = Dir』
と入力して、動作確認をしようとしています。
Dir("C:\データ\フォルダ\*.xlsx") = Dir
のコード部でエラー文が発生します。
回答1件
あなたの回答
tips
プレビュー