<< Click to Display Table of Contents >> DocumentProperty (Objekt) |
Zugriffspfade:
▪Application à Workbooks à Item à BuiltInDocumentProperties à Item
▪Application à ActiveWorkbook à BuiltInDocumentProperties à Item
1 Beschreibung
Ein DocumentProperty-Objekt repräsentiert eine einzelne Dokumenteigenschaft eines Dokuments, etwa den Titel, den Autor oder die Zahl der mit Inhalt gefüllten Zellen.
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 Workbook-Objekt:
' Den Titel des aktiven Dokuments auf "Meine Kalkulation" setzen
pm.ActiveWorkbook.BuiltInDocumentProperties.Item(smoPropertyTitle) = "Meine Kalkulation"
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 pm.ActiveWorkbook.BuiltInDocumentProperties.Item(smoPropertyTitle).Name
' Den Namen der Dokumenteigenschaft "Author" ausgeben, also "Author"
MsgBox pm.ActiveWorkbook.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 Main()
Dim pm as Object
Set pm = CreateObject("PlanMaker.Application")
pm.Workbooks.Add ' Neues leeres Dokument hinzufügen
With pm.ActiveWorkbook
' Neuen Titel setzen (mit Hilfe der numerischen Konstante smoPropertyTitle)
.BuiltInDocumentProperties.Item(smoPropertyTitle).Value = "Neuer Titel"
' Genau diese Eigenschaft wieder auslesen (diesmal über den String)
MsgBox .BuiltInDocumentProperties.Item("Title").Value
End With
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 Main()
Dim pm as Object
Set pm = CreateObject("PlanMaker.Application")
pm.Workbooks.Add ' Neues leeres Dokument hinzufügen
With pm.ActiveWorkbook
' Neuen Titel setzen (mit Hilfe der numerischen Konstante smoPropertyTitle)
.BuiltInDocumentProperties(smoPropertyTitle) = "Neuer Titel"
' Genau diese Eigenschaft wieder auslesen (diesmal über den String)
MsgBox .BuiltInDocumentProperties("Title")
End With
End Sub
Valid (Eigenschaft, R/O)
Datentyp: Boolean
Liefert True zurück, wenn die Dokumenteigenschaft bei PlanMaker verfügbar ist.
Hintergrund: Die Liste der möglichen Dokumenteigenschaften enthält auch solche, die nur bei TextMaker verfügbar sind (zum Beispiel smoPropertyChapters, "Number of chapters"). Sie dürfen bei PlanMaker nur diejenigen Dokumenteigenschaften abfragen, die PlanMaker 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 PlanMaker vorhanden ist. Beispiel:
Sub Main()
Dim pm as Object
Dim i as Integer
Set pm = CreateObject("PlanMaker.Application")
pm.Visible = True
pm.Workbooks.Add ' leeres Dokument hinzufügen
With pm.ActiveWorkbook
For i = 1 to .BuiltInDocumentProperties.Count
If .BuiltInDocumentProperties(i).Valid then
Print i, .BuiltInDocumentProperties(i).Name, "=", _
.BuiltInDocumentProperties(i).Value
Else
Print i, "Nicht in PlanMaker 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.