Переименование нескольких файлов из столбца - PullRequest
0 голосов
/ 16 апреля 2020

Я знаю, что есть еще несколько постов с похожими вопросами. Тем не менее, у меня возникают трудности с тем, чтобы заставить это работать правильно.

У меня есть лист с именем «data», и в столбце B от строки к и далее указаны имена файлов, которые я хочу переименовать, чтобы он отображал Столбец B - Столбец C

В настоящее время у меня есть следующее:

Кнопка выбора папки:

    Dim sFolder As String

Public Sub cmdOpenFolder_Click()

    ' Open the select folder prompt
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = -1 Then ' if OK is pressed
            sFolder = .SelectedItems(1) & "\"
        End If
    End With

    If sFolder <> "" Then ' if a file was chosen
        Me.txtFolderPath.Text = sFolder
    End If

End Sub

Затем у меня есть другая кнопка чтобы начать процесс переименования:

Private Sub cmdRenameFolder_Click()


Dim strfile As String
Dim filenum As String



strfile = Dir(sFolder)
Dim old_name, new_name As String


For i = 2 To ActiveWorkbook.Worksheets(2).Range("a1").End(xlDown).Row
strOldDirName = sFolder & Sheets(2).Cells(i, 2).Value
strNewDirName = sFolder & Sheets(2).Cells(i, 1).Value & " " & Sheets(2).Cells(i, 2).Value
Name strOldDirName As strNewDirName
Next i




End Sub

Однако я получаю следующую ошибку:

enter image description here

строка, выделенная после отладки:

For i = 2 To ActiveWorkbook.Worksheets(2).Range("a1").End(xlDown).Row

1 Ответ

1 голос
/ 16 апреля 2020

Ваше сообщение об ошибке обычно происходит из-за неправильного определения рабочей книги / рабочего листа, для которого вы хотите действовать.

Для сообщения об ошибке, которое вы видите, я предлагаю:

    Dim I As Long
    With ThisWorkbook.Worksheets("data")
        For I = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row

   'run your renaming code

        Next I
    End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...