Сохранение листа Excel в текущем каталоге с помощью VBA
Я создал лист в vba Excel. Я хотел бы сохранить его в текущем каталоге, но не в абсолютном пути, тогда, когда это будет выполнено где-то в другом месте, проблем не будет.
Может ли кто-нибудь помочь?
Ответ 1
Я не совсем понимаю, что вам требуется для вашей ситуации, но вы можете начать следующее. Ключ здесь используется ThisWorkbook.Path для получения относительного пути к файлу:
Sub SaveToRelativePath()
Dim relativePath As String
relativePath = ThisWorkbook.Path & "\" & ActiveWorkbook.Name
ActiveWorkbook.SaveAs Filename:=relativePath
End Sub
Ответ 2
У VBA есть ключевое слово CurDir, которое вернет "текущий каталог", хранящийся в Excel. Я не уверен, что все, что влияет на текущий каталог, но, безусловно, открытие или сохранение рабочей книги изменят его.
Это предполагает, что лист, который вы хотите сохранить, никогда не был сохранен, и вы хотите определить имя файла в коде.
Ответ 3
Если Путь опущен, файл будет автоматически сохранен в текущем каталоге.
Попробуйте что-то вроде этого:
<я > ActiveWorkbook.SaveAs "Filename.xslx"
Ответ 4
Снова сделав этот шаг, чтобы сохранить файл в относительном каталоге, вы можете использовать функцию replace. Скажем, у вас есть ваша книга, сохраненная в: c:\property\california\sacramento\workbook.xlsx, используйте это, чтобы переместить свойство в berkley: