Здравствуйте. Есть макрос для изменения формата файлов Excel в xlsb в папке. Необходимо еще эти файлы переименовать через InputBox и старое наименование. Причем первое диалоговое окно должно добавить текст к началу имени, а второе диалоговое окно добавить текст в конце имени. Например файл: Иванов ИИ, должен переименоваться в 16492_ИвановИИ_август.
Код
Sub xlsb()
Dim A As String
Dim B As String
A = InputBox("Введите данные", "Ввод данных")
B = InputBox("Введите данные", "Ввод данных")
Dim sFolder As String, sFiles As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = False Then Exit Sub
sFolder = .SelectedItems(1)
End With
sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
Application.ScreenUpdating = False
sFiles = Dir(sFolder & "*.xls")
Do While sFiles <> ""
Workbooks.Open sFolder & sFiles
On Error Resume Next: Err.Clear
If Val(Application.Version) < 12 Then Exit Sub
oldName$ = ActiveWorkbook.FullName
If UCase$(oldName$) Like "*.XLSB" Then Exit Sub
newName$ = Left(oldName$, InStrRev(oldName$, ".")) & "xlsb"
ActiveWorkbook.SaveAs newName$, xlExcel12
If Err = 0 Then Kill oldName$
Application.CutCopyMode = False
ActiveWorkbook.Close True
sFiles = Dir
Loop
Application.ScreenUpdating = True
End Sub
Помогите, пожалуйста, вставить данные InputBox в название файлов
Спасибо. Файлы переименовывает, только сохраняет их в папку с файлом макроса, а не в исходную (вернее на позицию вверх, т.е. если исходные файлы например D:\15\Липецк, он их сохраняет в D:\15). А можно как-нибудь в исходной оставлять (файл с макросом храниться в отдельной папке)?
JayBhagavan, Нет, не студент. Просто не так давно узнала, что такое макрос. Теперь стараюсь облегчить себе и своим коллегам жизнь. Исправила. Всё работает. Спасибо огромное!