[ Pobierz całość w formacie PDF ]
.5).340Część VI f& WspółoperatywnośćRysunek 19.5.Object Browserwyświetlającyobiekty WordaNazwy klas aplikacji OfficeAby użyć innych aplikacji Office, musisz znać nazwy klas występujących w tych aplikacjach:Aplikacja Nazwa klasyAccess.ApplicationAccessOffice.BinderBinderExcel.ApplicationExcelExcel.SheetExcel.ChartFrontPage.ApplicationFrontPageGraph.ApplicationGraphMapPoint.ApplicationMapPointOutlook.ApplicationOutlookPowerPoint.ApplicationPowerPointWord.ApplicationWordWord.DocumentPrzykład automatyzacjiPodstawy automatyzacji (przykładowo dla Worda: tworzenie lub pobieranie odwołania do Worda, użycie obiektów Worda,zwalnianie obiektu) zostały przedstawione w poprzednim rozdziale.Przykład poniższy drukujący informacje o Accessie w postaci dokumentu Worda ilustruje wszystkie wymienione kroki.Niezapomnij ustawić wcześniej odwołania do Worda.Private Sub AccessApplicationReport()Dim objWord As Word.ApplicationDoCmd.Hourglass True' Przejdz do następnego wiersza w przypadku błęduOn Error Resume Next' Próba pobrania odwołania do pracującego WordaSet objWord = GetObject(, "Word.Application")' Word nie działaIf objWord Is Nothing Then' Utwórz nowy egzemplarz WordaSet objWord = New Word.Application341Rozdział 19.f& Integracja z Office 2000' Jeżeli objWord jest Nothing to znaczy, że nie da się' uruchomić WordaIf objWord Is Nothing ThenMsgBox "MS Word 8.0 nie jest zainstalowany"End IfEnd If' On Error GoTo ErrorHandler (Tu wstaw obsługę błędów)' Otwórz nowy dokument oparty na szablonie Normal.dotobjWord.Documents.Add' Przełączenie się na WordaobjWord.Activate' Pokazujemy Worda użytkownikowiobjWord.Visible = True' Tworzenie nagłówka raportuWith objWord.Selection.TypeText vbTab & vbTab & "Raport o aplikacji Accessa".StartOf Unit:=wdStory, Extend:=wdExtend.Font.Bold = True.Font.Size = 20.EndKey Unit:=wdLine.TypeParagraph.TypeParagraph.Font.Bold = False.Font.Size = 16End With' Wstaw informacje o tej aplikacji Accessa do dokumentu WordaWith objWord.Selection.TypeText "Obiekt aplikacji" & vbTab & "Wartość" & vbCrLf.TypeText "Nazwa i ścieżka do bazy" & vbTab & _Application.CurrentDb.Name & vbCrLf.TypeText "Nazwa bieżącego formularza" & vbTab & _Forms.Item(0).Name & vbCrLf.TypeText "Nazwa bieżącego obiektu" & vbTab & _Application.CurrentObjectName & vbCrLf.TypeText "Nazwa bieżącego użytkownika" & vbTab & _Application.CurrentUser & vbCrLf.TypeText "Wersja Jet" & vbTab & _Application.DBEngine.Version & vbCrLf.TypeText "Kompilacja aplikacji" & vbTab & _Application.IsCompiled & vbCrLf.TypeText "Ilość odwołań" & vbTab & _Application.References.Count & vbCrLf.TypeText "Kursor myszy" & vbTab & _Application.Screen.MousePointer & vbCrLf.TypeText "User Control" & vbTab & Application.UserControl & _vbCrLf.TypeText "Widoczność aplikacji" & vbTab & Application.Visible & _vbCrLf.StartOf Unit:=wdStory.MoveDown Unit:=wdLine, Count:=2.StartOf Unit:=wdLine.EndOf Unit:=wdStory, Extend:=wdExtend.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=2, _NumRows:=11, Format:=wdTableFormatColorful2, _ApplyBorders:=True, ApplyShading _:=True, ApplyFont:=True, ApplyColor:=True, _ApplyHeadingRows:=True, ApplyLastRow:=False, _ApplyFirstColumn:=False, ApplyLastColumn:=False, _AutoFit:=True, AutoFitBehavior:=wdAutoFitFixed.EndOf Unit:=wdStoryEnd With' Wyłącz pokazywanie znaków końca akapituobjWord.ActiveWindow.ActivePane.View.ShowAll = FalseDoCmd.Hourglass False' Zwolnij obiektSet objWord = NothingEnd SubAutomatyzacja WordaW tej części opiszę specyficzne zagadnienia i przykłady automatyzacji Worda.342Część VI f& WspółoperatywnośćModel obiektów WordaPoprzedni przykład przedstawia program, zawierający wszystkie operacje potrzebne do automatyzacji.Skupię się teraz naopisie obiektów, właściwości i metod dostępnych w Wordzie.Model obiektów jest w tym względzie bardzo pomocny.Model obiektów jest szablonową reprezentacją obiektów aplikacji.Jest to szybka i łatwa metoda poznania obiektów, któremożna użyć do programowania.Spójrz do Obiekty Microsoft Word w pliku pomocy.Zamieszczony jesttam diagram struktury obiektów w Wordzie.Model Worda jest dosyć obszerny.Zawiera on ponad 180 obiektów dostępnych poprzez VBA.Często używane obiektyWorda zebrane są w tabeli 19.1.Nazwy obiektów, które są kolekcjami mają końcówkę (s).Tabela 19.1.Obiekty WordaObiekt Worda OpisApplicationAplikacja Word.Zwykle nie potrzebujesz odwoływać się do tego obiektuz Worda.Jeżeli używasz Worda z innej aplikacji, musisz użyć tego obiektuAutoCaption(s)Automatycznie dodawane nagłówkiAutoCorrectFunkcja AutokorektaCharacterZnaki w otwartym dokumencieCommandBar(s)Poszczególne paski narzędzi dostępne są poprzez indeks lub nazwęDefaultWebOptionsDomyślne ustawienia dla publikowania lub zapisywania jako strona WWWDialog(s)Okna dialogoweDictionary(s)Słowniki w WordzieDocument(s)Otwarte dokumenty.Można się do nich odwoływać przez indeks lub nazwęEmailPrzesyłka e-mail dla dokumentuTabela 19.1.Obiekty Worda (ciąg dalszy)Obiekt Worda OpisEmailSignatureInformacja o podpisie przesyłki e-mailFindObiekt używany do przeszukiwania słów, zakresów itd.ParagraphsKolekcja akapitów.RangeZdefiniowany punkt początkowy i końcowy akapitu.Dokument może zawieraćkilka zakresówReplacementObiekt określający warunki zastępowaniaSelectionZaznaczony tekst.Może być tylko jeden zaznaczony fragment tekstuw dokumencieTable(s)Pojedyncza tabelaTemplate(s)Szablon dokumentuWebOptionsUstawienia nadpisujące DefaultWebOptionsWindow(s)Okna dokumentów.Poszczególne okna dostępne są przez indeks lub nazwęWordsKolekcja słówUżycie szablonów WordaJak mówiłem w poprzednim rozdziale, kod automatyzacji działa szybciej, gdy jest wykonywany przez serwerautomatyzacji
[ Pobierz całość w formacie PDF ]