How to Programmatically Save a File to a Network Drive (141512)



The information in this article applies to:

  • Microsoft Excel 97 for Windows
  • Microsoft Excel for Windows 95
  • Microsoft Excel for Windows 5.0
  • Microsoft Excel 98 Macintosh Edition

This article was previously published under Q141512

SUMMARY

In Microsoft Excel, you can save a file to any drive to which you have write and delete privileges. In addition, you can use a Microsoft Visual Basic for Applications macro to save the active workbook and use a variable for the file name. You can use variables from the ActiveWorkbook.Name property, from input box data, or from a cell reference.

NOTE: If you use the full path for the file name, Microsoft Excel will know exactly where to save the file. If the path is not given, Microsoft Excel will save the file to the currently active directory or folder.

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

Sample Macro 1

Save the active workbook with a variable to a specified path. To do this, use the following macro:
   Sub SaveWithVariable()

       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
				
NOTE: In Microsoft Excel for the Macintosh, the path used to save the file might resemble the following

ActiveWorkbook.SaveAs FileName:="User:JoeDoe:" & MyFile

where "User" is a folder on the Desktop that is mapped to a network drive.

Sample Macro 2

Use a file name stored in a cell and save the file to the network server. To do this, use the following macro:

   Sub SaveWithVariableFromCell()
       SaveName = ActiveSheet.Range("A1").Text
       ActiveWorkbook.Close Filename:="E:\User\JoeDoe\" & SaveName & ".xls"
   End Sub
				

REFERENCES

"Visual Basic User's Guide," version 5.0, pages 89-137

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbdtacode kbhowto kbProgramming KB141512