Я пытаюсь создать макрос, который будет искать папку для .dat-файла, который содержит «OPS» (не с учетом регистра) в имени, если он найдет файл, который я хотел бы открыть, и запустить другой макрос, сохраните файл в качестве исходного filename.xlsm и закройте.VBA: Если filename.dat в папке содержит X, откройте, запустите макрос, сохраните как filename.xlsm, закройте
До сих пор я мог искать имя, но это касается моих знаний.
Sub Test2()
Dim sh As Worksheet, lr As Long, fPath As String, fName As String, rFile() As Variant
fPath = "C:\Users\ntunstall\Desktop\test\"
ctr = 1
fName = dir(fPath & "*.dat")
Do Until fName = ""
If InStr(fName, "OPS") > 0 Then
ReDim Preserve rFile(1 To ctr)
rFile(ctr) = fName
ctr = ctr + 1
End If
fName = dir
Loop
For i = LBound(rFile) To UBound(rFile)
'The variable rFile(i) represents the workbooks you want to work with.
MsgBox rFile(i)
Next
End Sub
В идеале, этот макрос будет работать в любое время, когда открывается .dat файл, содержащий OPS в имени файла. Любая помощь приветствуется, спасибо.
Спасибо! Его сохраняет в «Мои документы», хотя, все равно, чтобы сохранить его обратно в исходную папку? – Nathan
Добавьте путь к 'SaveAs'. См. Мое редактирование. – Sobigen
Это работает, спасибо! – Nathan