Udostępnij za pośrednictwem


Programowe zapisywanie dokumentów

Istnieje kilka sposobów zapisywania dokumentów programu Microsoft Office Word. Dokument można zapisać bez zmiany nazwy dokumentu lub zapisać dokument pod nową nazwą.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO dla programu Word. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

Zapisywanie dokumentu bez zmieniania nazwy

Aby zapisać dokument skojarzony z dostosowywaniem na poziomie dokumentu

  1. Wywołaj metodę SaveDocument klasy . Aby użyć tego przykładu ThisDocument kodu, uruchom go z klasy w projekcie.

    this.Save();
    

Aby zapisać aktywny dokument

  1. Wywołaj metodę Save aktywnego dokumentu. Aby użyć tego przykładu kodu, uruchom go z ThisDocument klasy lub ThisAddIn w projekcie.

    this.Application.ActiveDocument.Save();
    

    Jeśli nie masz pewności, czy dokument, który chcesz zapisać, jest aktywnym dokumentem, możesz odwołać się do niego pod jego nazwą.

Aby zapisać dokument określony przez nazwę

  1. Użyj nazwy dokumentu jako argumentu do kolekcji Documents . Aby użyć tego przykładu kodu, uruchom go z ThisDocument klasy lub ThisAddIn w projekcie.

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

Zapisywanie dokumentu pod nową nazwą

SaveAs Użyj metody , aby zapisać dokument pod nową nazwą. Można użyć tej metody Document elementu hosta w projekcie programu Word na poziomie dokumentu lub obiektu natywnego Document w dowolnym projekcie programu Word. Ta metoda wymaga określenia nowej nazwy pliku, ale inne argumenty są opcjonalne.

Uwaga

Jeśli w programie obsługi ThisDocument zdarzeń zostanie wyświetlone okno dialogowe DocumentBeforeSave SaveAs i ustawisz parametr Cancel na wartość false, aplikacja może nieoczekiwanie zakończyć działanie. Jeśli ustawisz wartość True dla parametru Anuluj, zostanie wyświetlony komunikat o błędzie wskazujący, że autozapis został wyłączony.

Aby zapisać dokument skojarzony z dostosowywaniem na poziomie dokumentu o nowej nazwie

  1. Wywołaj metodę SaveAsThisDocument klasy w projekcie przy użyciu w pełni kwalifikowanej ścieżki i nazwy pliku. Jeśli plik o tej nazwie już istnieje w tym folderze, jest on dyskretnie zastępowany. Aby użyć tego przykładu ThisDocument kodu, uruchom go z klasy .

    Uwaga

    Metoda SaveAs zgłasza wyjątek, jeśli katalog docelowy nie istnieje lub występują inne problemy z zapisywaniem pliku. Dobrym rozwiązaniem jest użycietry...catch bloku wokół SaveAs metody lub wewnątrz metody wywołującej.

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

Aby zapisać dokument natywny o nowej nazwie

  1. Wywołaj metodę SaveAsDocument , którą chcesz zapisać, używając w pełni kwalifikowanej ścieżki i nazwy pliku. Jeśli plik o tej nazwie już istnieje w tym folderze, jest on dyskretnie zastępowany.

    Poniższy przykład kodu zapisuje aktywny dokument o nowej nazwie. Aby użyć tego przykładu kodu, uruchom go z ThisDocument klasy lub ThisAddIn w projekcie.

    Uwaga

    Metoda SaveAs zgłasza wyjątek, jeśli katalog docelowy nie istnieje lub występują inne problemy z zapisywaniem pliku. Dobrym rozwiązaniem jest wypróbowanie ... catch bloku wokół SaveAs metody lub wewnątrz metody wywołującej.

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

Kompilowanie kodu

Ten przykład kodu wymaga następujących elementów:

  • Aby zapisać dokument według nazwy, dokument o nazwie NewDocument.doc musi istnieć w katalogu o nazwie Test na dysku C.

  • Aby zapisać dokument o nowej nazwie, katalog o nazwie Test musi istnieć na dysku C.