次の簡単なエクセルのマクロを作ってください。
1)A列に"filename001.pdf"などの、ファイルの名前が連続して書いてある。
2)エクセルの保存されているフォルダにそのファイルがあれば、B列に○を、なければ×を記入する。
3)終了条件=A列に空白セル発見。
よろしくお願いします。
Sub Macro1() ' ' Macro1 Macro ' Dim a As Long Dim b As String For a = 1 To 65536 If Range("A" & a) = "" Then End b = Range("A" & a) If Dir(b) <> "" Then Range("B" & a) = "○" Next a End Sub
Sub Macro1()
'
' Macro1 Macro
'
Dim a As Long
Dim b As String
For a = 1 To 65536
If Range("A" & a) = "" Then End
b = Range("A" & a)
If Dir(b) <> "" Then Range("B" & a) = "○"
Next a
End Sub
せっかくだから、FileSystemObjectを使った例
Sub fileExist() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Dim i As Long i = 1 While Cells(i, 1).Value <> "" If fso.FileExists(CurDir & "\" & Cells(i, 1).Value) Then Cells(i, 2).Value = "○" Else Cells(i, 2).Value = "×" End If i = i + 1 Wend End Sub
\を半角¥にしてください
どうもありがとうございます。
了解です。
ちょっと別バージョン。ワークブックのパスを取得して、ほかのフォルダを参照することがないように確実にしてあります。
---------------------------------------------------
Dim a As String
Dim path As String
Dim i As Long
path = ThisWorkbook.path
i = 1
With Worksheets(1)
Do
a = Dir(path & "\" & .Cells(i, 1))
If a <> "" Then
.Cells(i, 2) = "o"
Else
.Cells(i, 2) = "x"
End If
i = i + 1
If .Cells(i, 1) = "" Then
Exit Do
End If
Loop
End With
ありがとうございます。
いつもありがとうございます。