Programmgesteuertes Speichern von Dokumenten

Es gibt mehrere Möglichkeiten zum Speichern von Microsoft Office Word-Dokumenten. Sie können ein Dokument speichern, ohne den Namen des Dokuments zu ändern, oder Sie können ein Dokument unter einem neuen Namen speichern.

Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene und VSTO-Add-In-Projekte für Word. Weitere Informationen finden Sie unter features available by Office-App lication and project type.

Speichern eines Dokuments ohne Ändern des Namens

So speichern Sie das Dokument, das einer Anpassung auf Dokumentebene zugeordnet ist

  1. Rufen Sie die Save -Methode der Document -Klasse auf. Wenn Sie dieses Codebeispiel verwenden möchten, führen Sie es von der ThisDocument -Klasse im Projekt aus.

    this.Save();
    

So speichern Sie das aktive Dokument

  1. Rufen Sie die Save Methode für das aktive Dokument auf. Wenn Sie dieses Codebeispiel verwenden möchten, führen Sie es aus der Klasse ThisDocument oder ThisAddIn in Ihrem Projekt aus.

    this.Application.ActiveDocument.Save();
    

    Wenn Sie nicht sicher sind, ob das Dokument, das Sie speichern möchten, das aktive Dokument ist, können Sie anhand des Namens darauf verweisen.

So speichern Sie ein dokument, das mit dem Namen angegeben ist

  1. Verwenden Sie den Dokumentnamen als Argument für die Documents Auflistung. Wenn Sie dieses Codebeispiel verwenden möchten, führen Sie es aus der Klasse ThisDocument oder ThisAddIn in Ihrem Projekt aus.

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

Speichern eines Dokuments mit einem neuen Namen

Verwenden Sie die SaveAs Methode, um ein Dokument mit einem neuen Namen zu speichern. Sie können diese Methode des Document Hostelements in einem Word-Projekt auf Dokumentebene oder eines systemeigenen Document Objekts in einem beliebigen Word-Projekt verwenden. Für diese Methode müssen Sie den neuen Dateinamen angeben, andere Argumente sind jedoch optional.

Hinweis

Wenn Sie das Dialogfeld "SaveAs " innerhalb des DocumentBeforeSave Ereignishandlers ThisDocument anzeigen und den Parameter Cancel auf "false" festlegen, wird die Anwendung möglicherweise unerwartet beendet. Wenn Sie den Parameter Cancel auf "true" festlegen, wird eine Fehlermeldung angezeigt, die angibt, dass das automatische Speichern deaktiviert wurde.

So speichern Sie das Dokument, das einer Anpassung auf Dokumentebene mit einem neuen Namen zugeordnet ist

  1. Rufen Sie die SaveAs Methode der ThisDocument Klasse in Ihrem Projekt mithilfe eines vollqualifizierten Pfads und Dateinamens auf. Wenn der Ordner bereits eine Datei dieses Namens enthält, wird die Datei automatisch überschrieben. Wenn Sie dieses Codebeispiel verwenden möchten, führen Sie es über die ThisDocument -Klasse aus.

    Hinweis

    Die SaveAs Methode löst eine Ausnahme aus, wenn kein Zielverzeichnis vorhanden ist oder andere Probleme beim Speichern einer Datei auftreten. Es empfiehlt sich, einentry...catch Block um die SaveAs Methode oder innerhalb einer aufrufenden Methode zu verwenden.

    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);
    

So speichern Sie ein systemeigenes Dokument mit einem neuen Namen

  1. Rufen Sie die SaveAs Methode der Document zu speichernden Methode mithilfe eines vollqualifizierten Pfads und Dateinamens auf. Wenn der Ordner bereits eine Datei dieses Namens enthält, wird die Datei automatisch überschrieben.

    Im folgenden Codebeispiel wird das aktive Dokument mit einem neuen Namen gespeichert. Wenn Sie dieses Codebeispiel verwenden möchten, führen Sie es aus der Klasse ThisDocument oder ThisAddIn in Ihrem Projekt aus.

    Hinweis

    Die SaveAs Methode löst eine Ausnahme aus, wenn kein Zielverzeichnis vorhanden ist oder andere Probleme beim Speichern einer Datei auftreten. Es ist eine gute Methode, einen Versuch zu verwenden... Catch-Block um die SaveAs Methode oder innerhalb einer aufrufenden Methode.

    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);
    

Kompilieren des Codes

Für dieses Codebeispiel benötigen Sie Folgendes:

  • Um ein Dokument anhand des Namens zu speichern, muss ein Dokument mit dem Namen "NewDocument.doc" in einem Verzeichnis mit dem Namen "Test on drive C" vorhanden sein.

  • Um ein Dokument mit einem neuen Namen zu speichern, muss auf Laufwerk C ein Verzeichnis mit dem Namen "Test " vorhanden sein.