Share via


プログラムによってドキュメントを保存する

Microsoft Office Word 文書を保存するには、いくつかの方法があります。 文書の名前を変更せずに文書を保存することも、新しい名前を付けて文書を保存することもできます。

適用対象: このトピックの情報は、Word のドキュメント レベルのプロジェクトおよび VSTO アドインのプロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

名前を変更せずに文書を保存する

文書レベルのカスタマイズに関連付けられている文書を保存するには

  1. Save クラスの Document メソッドを呼び出します。 このコード例を使用するには、プロジェクトの ThisDocument クラスからコードを実行します。

    this.Save();
    

アクティブ文書を保存するには

  1. 作業中の文書で Save メソッドを呼び出します。 このコード例を使用するには、プロジェクトの ThisDocument クラスまたは ThisAddIn クラスからコードを実行します。

    this.Application.ActiveDocument.Save();
    

    保存する文書が作業中の文書であるかどうかわからない場合は、これを名前で参照できます。

名前で指定した文書を保存するには

  1. Documents コレクションの引数として文書名を使用します。 このコード例を使用するには、プロジェクトの ThisDocument クラスまたは ThisAddIn クラスからコードを実行します。

    this.Application.Documents[@"C:\Test\NewDocument.docx"].Save();
    

新しい名前を付けて文書を保存する

新しい名前を付けて文書を保存するには、SaveAs メソッドを使用します。 このメソッドは、文書レベルの Word プロジェクトで Document ホスト項目のものを使用することも、任意の Word 文書でネイティブ Document オブジェクトのものを使用することもできます。 このメソッドでは、新しいファイル名を指定する必要がありますが、他の引数は省略可能です。

Note

ThisDocumentDocumentBeforeSave イベント ハンドラー内に [名前を付けて保存] ダイアログ ボックスを表示して、Cancel パラメーターを false に設定すると、アプリケーションが予期せず終了する可能性があります。 Cancel パラメーターを true に設定すると、自動保存が無効になっていることを示すエラー メッセージが表示されます。

新しい名前を付けて文書レベルのカスタマイズに関連付けられている文書を保存するには

  1. 完全修飾パスとファイル名を使用して、プロジェクトの ThisDocument クラスの SaveAs メソッドを呼び出します。 指定した名前のファイルが既に対象のフォルダー内に存在する場合、そのファイルは警告なしで上書きされます。 このコード例を使用するには、 ThisDocument クラスからコードを実行します。

    Note

    ターゲット ディレクトリが存在しない場合、またはファイルの保存に関する他の問題がある場合、SaveAs メソッドによって例外がスローされます。 SaveAs メソッドの周囲または呼び出し元メソッド内の try...catch ブロックを使用することをお勧めします。

    object fileName = @"C:\Test\NewDocument.docx"; 
    
    this.SaveAs(ref fileName,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing);
    

新しい名前を付けて文書を保存するには

  1. 完全修飾パスとファイル名を使用して、保存する DocumentSaveAs メソッドを呼び出します。 指定した名前のファイルが既に対象のフォルダー内に存在する場合、そのファイルは警告なしで上書きされます。

    次のコード例では、新しい名前を付けて作業中の文書を保存します。 このコード例を使用するには、プロジェクトの ThisDocument クラスまたは ThisAddIn クラスからコードを実行します。

    Note

    ターゲット ディレクトリが存在しない場合、またはファイルの保存に関する他の問題がある場合、SaveAs メソッドによって例外がスローされます。 SaveAs メソッドの周囲または呼び出し元メソッド内の try...catch ブロックを使用することをお勧めします。

    object fileName = @"C:\Test\NewDocument.docx";
    
    this.Application.ActiveDocument.SaveAs(ref fileName,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing,
        ref missing, ref missing, ref missing, ref missing, ref missing);
    

コードのコンパイル

このコード例で必要な要素は次のとおりです。

  • 文書を名前で保存するには、NewDocument.doc という名前の文書が、C ドライブの Test という名前のディレクトリに存在している必要があります。

  • 新しい名前を付けて文書を保存するには、Test という名前のディレクトリが C ドライブに存在している必要があります。