Обновление: я исправил проблему раньше, напечатав имя файла перед попыткой сохранить, но теперь он дает мне ошибку, что это файл, который я пытаюсь переименовать, поврежден или находится в другом месте.Это потому, что я пытаюсь переименовать файл?Это не возможно?Вот обновленный код.
Sub cellvalue_filename()
Dim Path As String
Dim filename As String
Dim WBname
Path = "C:\Users\user\filename"
WBname = ActiveWorkbook.Name
filename = Path & Range("B2") & WBname
MsgBox (filename)
ActiveWorkbook.SaveAs filename, xlCSV
ActiveWorkbook.Close
End Sub
Я пишу модуль Excel, используя vba, чтобы переименовать имя файла путем объединения значения ячейки и текущего имени файла.
My fullкод выглядит следующим образом:
Sub cellvalue_filename ()
Dim Path As String
Dim filename As String
Dim WBname
Path = "C:\Users\username\Desktop\Test\"
WBname = ActiveWorkbook.Name
filename = Path & Range("B2") & WBname & ".csv"
ActiveWorkbook.SaveAs filename, xlCSV
ActiveWorkbook.Close
End Sub
Я получаю ошибку времени выполнения 1004 с использованием строки: ActiveWorkbook.SaveAs filename, xlCSV
, но я думаю, что первоначальная проблема может быть в использовании WBname = ActiveWorkbook.Name
, поскольку я изначально удалил маркировку его As String
потому что это дало мне ошибку для неправильного типа.Я не уверен, что это проблема или FileFormat не так.Я использую Windows, и расширение файла говорит .csv, поэтому не уверен, что это актуальная проблема.