<< Click to Display Table of Contents >> DocumentProperty (Objekt) |
Zugriffspfade:
▪Application à Documents à Item à BuiltInDocumentProperties à Item
▪Application à ActiveDocument à BuiltInDocumentProperties à Item
1 Beschreibung
Ein DocumentProperty-Objekt repräsentiert eine einzelne Dokumenteigenschaft eines Dokuments, etwa den Titel, den Autor oder die Zahl der Wörter eines Dokuments.
2 Zugriff auf das Objekt
Die einzelnen DocumentProperty-Objekte können ausschließlich durch Aufzählung der Elemente von Sammlungen des Typs DocumentProperties angesprochen werden.
Für jedes geöffnete Dokument existiert genau eine Instanz dieser DocumentProperties-Sammlung, nämlich BuiltInDocumentProperties im Document-Objekt:
' Den Titel des aktiven Dokuments auf "Meine Memoiren" setzen
tm.ActiveDocument.BuiltInDocumentProperties.Item(smoPropertyTitle) = "Meine Memoiren"
3 Eigenschaften, Objekte, Sammlungen und Methoden
Eigenschaften:
▪Name R/O
▪Value (Defaulteigenschaft)
▪Valid
▪Type
Objekte:
▪Application → Application
▪Parent → BuiltInDocumentProperties
Name (Eigenschaft, R/O)
Datentyp: String
Liefert den Namen der Dokumenteigenschaft. Beispiele:
' Den Namen der Dokumenteigenschaft smoPropertyTitle ausgeben, also "Title"
MsgBox tm.ActiveDocument.BuiltInDocumentProperties.Item(smoPropertyTitle).Name
' Den Namen der Dokumenteigenschaft "Author" ausgeben, also "Author"
MsgBox tm.ActiveDocument.BuiltInDocumentProperties.Item("Author").Name
Value (Eigenschaft)
Datentyp: String
Liest oder setzt den Inhalt der Dokumenteigenschaft.
Das folgende Beispiel setzt die Dokumenteigenschaft "Titel" über die numerische Konstante smoPropertyTitle und liest sie gleich wieder über die Stringkonstante "Title" aus:
Sub Beispiel()
Dim tm as Object
Set tm = CreateObject("TextMaker.Application")
tm.Documents.Add ' Neues leeres Dokument hinzufügen
' Neuen Titel setzen (mit Hilfe der numerischen Konstante smoPropertyTitle)
tm.ActiveDocument.BuiltInDocumentProperties.Item(smoPropertyTitle).Value =
"Neuer Titel"
' Genau diese Eigenschaft wieder auslesen (diesmal über den String)
MsgBox tm.ActiveDocument.BuiltInDocumentProperties.Item("Title").Value
End Sub
Da Item das Defaultobjekt von DocumentProperties ist und Value die Defaulteigenschaft von DocumentProperty, lässt sich dieses Beispiel übersichtlicher wie folgt schreiben:
Sub Beispiel()
Dim tm as Object
Set tm = CreateObject("TextMaker.Application")
tm.Documents.Add ' Neues leeres Dokument hinzufügen
' Neuen Titel setzen (mit Hilfe der numerischen Konstante smoPropertyTitle)
tm.ActiveDocument.BuiltInDocumentProperties(smoPropertyTitle) = "Neuer Titel"
' Genau diese Eigenschaft wieder auslesen (diesmal über den String)
MsgBox tm.ActiveDocument.BuiltInDocumentProperties("Title")
End Sub
Valid (Eigenschaft, R/O)
Datentyp: Boolean
Liefert True zurück, wenn die Dokumenteigenschaft bei TextMaker verfügbar ist.
Hintergrund: Die Liste der möglichen Dokumenteigenschaften enthält auch solche, die nur bei PlanMaker verfügbar sind (zum Beispiel smoPropertySheets, "Number of sheets"). Sie dürfen bei TextMaker nur diejenigen Dokumenteigenschaften abfragen, die TextMaker kennt – sonst wird ein Leerwert zurückgegeben (VT_EMPTY).
Die Eigenschaft Valid lässt Sie vor der Abfrage prüfen, ob die jeweilige Dokumenteigenschaft bei TextMaker vorhanden ist. Beispiel:
Sub Main()
Dim tm as Object
Dim i as Integer
Set tm = CreateObject("TextMaker.Application")
tm.Visible = True
tm.Documents.Add ' leeres Dokument hinzufügen
With tm.ActiveDocument
For i = 1 to .BuiltInDocumentProperties.Count
If .BuiltInDocumentProperties(i).Valid then
Print i, .BuiltInDocumentProperties(i).Name, "=", _
.BuiltInDocumentProperties(i).Value
Else
Print i, "Nicht in TextMaker verfügbar"
End If
Next i
End With
End Sub
Type (Eigenschaft, R/O)
Datentyp: Long (SmoDocProperties)
Liefert den Datentyp der Dokumenteigenschaft. Damit Sie eine Dokumenteigenschaft richtig auswerten können, müssen Sie ihren Typ wissen. Beispielsweise ist Title (smoPropertyTitle) ein String, Creation Date (smoPropertyTimeCreated) hingegen ein Datum. Mögliche Werte:
smoPropertyTypeBoolean = 0 ' Boolean
smoPropertyTypeDate = 1 ' Datum
smoPropertyTypeFloat = 2 ' Fließkommazahl
smoPropertyTypeNumber = 3 ' Ganzzahl
smoPropertyTypeString = 4 ' Zeichenkette
Application (Zeiger auf Objekt)
Datentyp: Object
Liefert das Application-Objekt.
Parent (Zeiger auf Objekt)
Datentyp: Object
Liefert das übergeordnete Objekt, also BuiltInDocumentProperties.