Wymagania: Użyj VSTO do opracowania prostej wtyczki do Office, na przykład do uzyskania wtyczki o długości znaków chińskich w języku Word.
Model obiektowy Word
Word oferuje setki obiektów do interakcji. Obiekty te są zorganizowane w hierarchii, która ściśle podąża za interfejsem użytkownika. Obiekt Application znajduje się na szczycie hierarchii. Ten obiekt reprezentuje aktualną instancję Worda. Obiekt aplikacji zawiera obiekty Dokument, Selection, Bookmark i Range. Każdy z tych obiektów posiada szereg metod i właściwości, które mogą być używane do manipulacji i interakcji z obiektem.
Poniższy obraz przedstawia widok tych obiektów w hierarchii modelu obiektów Word.
Dokumentacja:Logowanie do linku jest widoczne.
Obiekt aplikacji
Obiekt aplikacji reprezentuje aplikację Word i jest nadrzędnym wszystkich pozostałych obiektów. Jego członkowie są zazwyczaj odnosi się do Słowa jako całości. Możesz wykorzystać jego właściwości i metody do sterowania środowiskiem Word.
W projekcie dodatku VSTO możesz uzyskać dostęp do obiektu ThisAddIn za pomocą pól Application klasy Application.
W projekcie na poziomie dokumentu obiekt ThisDocument może być dostępny za pomocą właściwości Application klasy Application.
Obiekt dokumentu
Obiekt Dokument jest centrum programowania w Wordzie. Reprezentuje dokument i całą jego treść. Gdy otwierasz dokument lub tworzysz nowy dokument, nowy obiekt Dokumentu jest tworzony i dodawany do kolekcji Aplikacji obiektu Dokumenty. Dokument z określonym celem nazywany jest dokumentem aktywnym. Jest reprezentowana przez właściwość Application obiektu ActiveDocument.
Tworząc projekt na poziomie dokumentu, możesz uzyskać dostęp do członka ThisDocument, korzystając z klasy Dokument wygenerowanej w projekcie. Obiekt ThisDocument można uzyskać, używając słowa kluczowego Me lub this jako kod w klasie Document, albo używając Globals.ThisDocument dla kodu spoza klasy ThisDocument.
Obiekt wyboru
Obiekt Selection reprezentuje obecnie wybrany region. Podczas wykonywania czynności w interfejsie użytkownika Worda, takiej jak pogrubianie tekstu, możesz zaznaczyć lub zaznaczyć tekst, a następnie zastosować formatowanie. Obiekt Selection jest zawsze obecny w dokumencie. Jeśli nic nie jest sprawdzane, oznacza to punkt włożenia. Dodatkowo wybrana treść może zawierać wiele niesąsiadujących bloków tekstu.
Obiekt zasięgu
Obiekt Zakres reprezentuje sąsiednie obszary w dokumencie i jest definiowany przez pozycje znaków początkowych i końcowych. Nie ogranicza się do jednego obiektu Zasięgu. Możesz zdefiniować wiele obiektów Range w tym samym dokumencie. Obiekty dystansowe mają następujące cechy:
- Może zawierać tylko poszczególne punkty wstawiania lub może zawierać zakres tekstu lub cały dokument.
- Zawiera znaki niewydrukowane, takie jak sprady, tabulatory i znaczniki akapitów.
- Może to być obszar reprezentowany przez obecnie wybraną treść lub obszar różniący się od tej treści.
- Nie jest widoczna w dokumencie, w przeciwieństwie do wybranej treści, która jest zawsze widoczna.
- Nie jest zapisywany w dokumentacji i istnieje tylko wtedy, gdy kod jest uruchomiony.
- Gdy tekst zostanie wstawiony na końcu zakresu, Word automatycznie rozszerza zakres, aby uwzględnić wstawiony tekst.
Obiekty kontroli treści (Obiekty kontroli treści)
ContentControl umożliwia kontrolę nad wprowadzaniem i renderowaniem tekstu oraz innych typów treści w dokumencie Word. ContentControl może wyświetlać wiele różnych typów interfejsów zoptymalizowanych do pracy w dokumentach Word, takich jak sterowanie tekstem wielokomunikatowym, wybieracze dat czy ramki kombinowane. Możesz także użyć ContentControl, aby uniemożliwić użytkownikom edytowanie niektórych sekcji dokumentu lub szablonu.
Visual Studio rozszerza obiekt ContentControl na kilka różnych kontrol hosta. Podczas gdy obiekt ContentControl wyświetla wszystkie różne typy interfejsów dostępnych dla kontroli treści, Visual Studio oferuje inny typ dla każdej kontroli treści. Na przykład możesz użyć RichTextContentControl do stworzenia kontroli tekstu wielorazowego lub DatePickerContentControl do stworzenia wyboru dat. Te kontrolki hostów zachowują się podobnie jak natywne ContentControls, ale mają także dodatkowe możliwości wiązania zdarzeń i danych.
Obiekt zakładek
Obiekt Zakładka reprezentuje sąsiednie obszary w dokumencie, zarówno na początku, jak i na końcu. Możesz użyć zakładek do zaznaczenia miejsca w dokumencie lub jako pojemnik dla chińskiej wersji dokumentu. Obiekt zakładek może zawierać punkty wstawiania lub być tak duży jak cały dokument. Bookmark posiada następujące cechy, które odróżniają go od obiektów Zasięgu:
- Możesz wymieniać zakładki podczas projektowania.
- Obiekt zakładek jest zapisywany wraz z dokumentem, więc nie jest usuwany, gdy kod przestaje działać lub dokument zostanie zamknięty.
- Uzyskaj dostęp do właściwości Widok, ustawiając właściwość Widok na fałszywe lub prawdziwe.
- Visual Studio rozszerza obiekt zakładek, zapewniając kontrolę hosta zakładek. Kontrolery hosta zakładek działają podobnie jak natywne zakładki, ale mają też dodatkowe możliwości wiązania zdarzeń i danych. Możesz przypisać dane do kontrolki zakładek w dokumencie tak samo, jak przypisujesz dane do kontrolera pola tekstowego w Windows Form.
Stwórz dodatek do Word VSTO
Po zrozumieniu podstawowych koncepcji otwórz VS 2022, aby utworzyć nowy dodatek Word VSTO, jak pokazano na poniższym rysunku:
Stwórz wizualną wstążkę, jak pokazano na poniższym rysunku:
Dwukrotnie kliknij Ribbon1.cs, aby otworzyć, usuń domyślną zakładkę i przeciągnij nową kartę, jak pokazano poniżej:
Przeciągnij grupę i przycisk do zakładki nowej karty, jak pokazano poniżej:
Dwukrotnie kliknij nowo utworzony przycisk, aby utworzyć zdarzenie kliknięcia z następującym kodem:
(Koniec)
|