Freigeben über


Dokumente programmgesteuert speichern

Es gibt mehrere Möglichkeiten, Microsoft Office Word-Dokumente zu speichern. 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 betreffen Projekte auf Dokumentebene und VSTOAddIn-Projekte für und Word. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Ein Dokument speichern, ohne den Namen zu ändern

So speichern Sie das Dokument, das mit einer Anpassung auf Dokumentenebene verbunden 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 Methode Save 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 sich nicht sicher sind, ob es sich bei dem zu speichernden Dokument um das aktive Dokument handelt, können Sie sich auf den Namen des Dokuments beziehen.

So speichern Sie ein über den Namen angegebenes Dokument

  1. Verwenden Sie den Dokumentennamen als Argument für die Documents-Sammlung. 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();
    

Ein Dokument unter einem neuen Namen speichern

Verwenden Sie die Methode SaveAs, um ein Dokument unter einem neuen Namen zu speichern. Sie können diese Methode für das Document Host-Element in einem Word-Projekt auf Dokumentebene oder für ein natives Document Objekt in einem beliebigen Word-Projekt verwenden. Bei dieser Methode müssen Sie den neuen Dateinamen angeben, die anderen Argumente sind jedoch optional.

Hinweis

Wenn Sie das Dialogfeld Speichern als innerhalb des DocumentBeforeSaveEreignishandlers von ThisDocument anzeigen und den Parameter Abbrechen auf falsch festlegen, wird die Anwendung möglicherweise unerwartet beendet. Wenn Sie den Parameter Abbrechen auf wahr festlegen, erscheint eine Nachricht, die besagt, dass das automatische Speichern deaktiviert wurde.

So speichern Sie das mit einer Anpassung auf Dokumentenebene verbundene Dokument unter einem neuen Namen

  1. Rufen Sie die Methode SaveAs der Klasse ThisDocument in Ihrem Projekt auf und geben Sie dabei einen vollständig qualifizierten Pfad und Dateinamen an. 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 ein Zielverzeichnis nicht existiert oder wenn es andere Probleme beim Speichern einer Datei gibt. Es ist eine gute Praxis, einen try...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 natives Dokument unter einem neuen Namen

  1. Rufen Sie die SaveAs-Methode des Document-Dokuments auf, das Sie speichern möchten, und geben Sie dabei einen vollständig qualifizierten Pfad und Dateinamen an. Wenn der Ordner bereits eine Datei dieses Namens enthält, wird die Datei automatisch überschrieben.

    Das folgende Code-Beispiel speichert das aktive Dokument unter einem neuen Namen. Wenn Sie dieses Codebeispiel verwenden möchten, führen Sie es aus der Klasse ThisDocument oder ThisAddIn in Ihrem Projekt aus.

    Hinweis

    Die Methode SaveAs löst eine Ausnahme aus, wenn das Zielverzeichnis nicht existiert oder wenn es andere Probleme beim Speichern einer Datei gibt. Es empfiehlt sich, einen try...catch-Block um die SaveAs-Methode herum oder innerhalb einer aufrufenden Methode zu verwenden.

    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 unter einem Namen zu speichern, muss ein Dokument mit dem Namen NewDocument.doc in einem Verzeichnis mit dem Namen Test auf Laufwerk C vorhanden sein.

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