ファイルを Excel 形式で、プログラム的にネットワーク ドライブに保存する

概要

Microsoft Excel では、書き込み権限と削除権限を持つ任意のドライブにファイルを保存できます。 また、Microsoft Visual Basic for Applications マクロを使用してアクティブなブックを保存し、ファイル名に変数を使用することもできます。 ActiveWorkbook.Nameproperty、入力ボックス データ、またはセル参照から変数を使用できます。

注:

ファイル名に完全なパスを使用すると、Microsoft Excel はファイルを保存する場所を正確に判断します。 パスが指定されていない場合、Microsoft Excel ファイルは現在アクティブなディレクトリまたはフォルダーに保存されます。

詳細

Microsoft は、例示のみを目的としてプログラミング例を提供しており、明示または黙示にかかわらず、いかなる責任も負わないものとします。 これには、市販性または特定目的との適合性についての黙示の保証も含まれますが、これに限定はされません。 この記事は、説明されているプログラミング言語、手順を作成およびデバッグするために使用されているツールに読者が精通していることを前提にしています。 マイクロソフト サポート窓口では、特定のプロシージャの機能説明に関するご質問に対して支援いたしますが、本例を特定の目的を満たすために機能を追加したり、プロシージャを構築することは行いません。

サンプル マクロ 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