Программное сохранение файла на сетевой диск в Excel

Аннотация

В Microsoft Excel вы можете сохранить файл на любом диске, для которого у вас есть права на запись и удаление. Кроме того, можно использовать макрос Microsoft Visual Basic для приложений для сохранения текущей рабочей книги и использовать переменную для имени файла. Можно использовать переменные из свойства ActiveWorkbook.Name, из данных поля ввода или из ссылки на ячейку.

Примечание.

Если вы используете полный путь для имени файла, Microsoft Excel будет точно знать, где сохранить файл. Если путь не указан, Microsoft Excel сохранит файл в текущий активный каталог или папку.

Дополнительная информация

Корпорация Майкрософт предоставляет примеры программирования только в целях демонстрации без явной или подразумеваемой гарантии. Это относится, в частности, к подразумеваемым гарантиям товарного состояния или пригодности для конкретной цели. Эта статья предполагает, что пользователь знаком с представленным языком программирования и средствами, используемыми для создания и отладки процедур. Специалисты технической поддержки Майкрософт могут пояснить работу той или иной процедуры, но модификация примеров и их адаптация к задачам разработчика не предусмотрена.

Пример макроса 1

Для сохранения активной рабочей книги с переменной по указанному пути используйте следующий макрос:

   Sub SaveWithVariable()
       Dim MyFile As String

       MyFile = ActiveWorkbook.Name
       ' Do not display the message about overwriting the existing file.
       Application.DisplayAlerts = False
       ' Save the active workbook with the name of the
       ' active workbook. Save it on the E drive to a folder called
       ' "User" with a subfolder called "JoeDoe."
       ActiveWorkbook.SaveAs Filename:="E:\User\JoeDoe\" & MyFile
       ' Close the workbook by using the following.
       ActiveWorkbook.Close
   End Sub

Пример макроса 2

Используйте имя файла, сохраненное в ячейке, и сохраните файл на сетевом сервере. Для этого используйте следующий макрос:

   Sub SaveWithVariableFromCell()
       Dim SaveName As String
       SaveName = ActiveSheet.Range("A1").Text
       ActiveWorkbook.SaveAs Filename:="E:\User\JoeDoe\" & _
           SaveName & ".xls"
   End Sub