Zugriff auf Indexfeldwerte
Die Schnittstelle IAttributes repräsentiert eine Sammlung der Indexfelder. Die Elemente in der Sammlung implementieren die Schnittstelle IAttribute .
Auf die Elemente der Sammlung kann entweder per Index (siehe Objektsammlungen verwenden) oder per Indexfeldname zugegriffen werden. Ist ein angegebenes Feld in der Sammlung nicht vorhanden, wird eine Ausnahme ausgelöst.
Die folgende Tabelle zeigt, wie Sie mit einem automatischen Indexierungsskripts auf die Indexfelder zugreifen können.
Sprache | Zugriff auf ein Indexierungsfeld nach Index | Zugriff auf ein Indexierungsfeld nach Name |
---|---|---|
C# | doc.Attributes[0] | doc.Attributes["Name"] |
Visual Basic .Net | doc.Attributes(0) | doc.Attributes("Name") |
JScript .Net | doc.Attributes(0) | doc.Attributes("Name") |
JScript | this.Attributes(0) | this.Attributes("Name") |
VBSkript | Me.Attributes(0) | Me.Attributes("Name") |
Sie können den Wert eines Indexierungsfeldes mithilfe der Eigenschaft Wert der Schnittstelle IAttribute abrufen und festlegen. Beispiel:
// C#
IAttribute attr = doc.Attributes("Name");
var current = attr.Value;
attr.Value = ...;
Der Typ des Wertes ist vom Typ des Indexierungsfelds abhängig (siehe folgende Tabelle).
Indexierungsfeld-Typ | VARIANT-Typ | .NET-Typ |
---|---|---|
DAT_Boolean | VT_BOOL | bool |
DAT_Enumeration | VT_BSTR | string |
DAT_SingleLine | VT_BSTR | string |
DAT_MultipleLines | VT_DISPATCH (IStringsCollection) | IStringsCollection |
DAT_RegularExpression | VT_BSTR | string |
DAT_DateTime | VT_DATE | DateTime |
DAT_Number | VT_R8 | double |
DAT_Currency | VT_CY | double |
DAT_Url | VT_BSTR | string |
Feldern vom Typ DAT_MultipleLines können Werte zugewiesen werden, die Zeichenfolgenarrays oder Objekte vom Typ IStringsCollection sind. Einige Beispiele sind in der folgenden Tabelle aufgeführt.
Sprache | Beispiel |
---|---|
C# | doc.Attributes["Authors"].Value = new string[] {"Bob", "Alice"}; |
Visual Basic .Net | doc.Attributes("Authors").Value = new string() {"Bob", "Alice"} |
JScript .Net | doc.Attributes("Authors").Value = ["Bob", "Alice"]; |
JScript | this.Attributes("Authors").Value = ["Bob", "Alice"]; |
VBSkript | Me.Attributes("Authors").Value = Array("Bob", "Alice") |
Feldern vom Typ DAT_DateTime können Werte zugewiesen werden, die Objekte vom Typ Date (in VBSkript oder JScript) oder System.DateTime (in .NET-Sprachen) sind. Einige Beispiele sind in der folgenden Tabelle aufgeführt.
Sprache | Beispiel |
---|---|
C# | doc.Attributes["Date"].Value = System.DateTime.Now; |
Visual Basic .Net | doc.Attributes("Date").Value = System.DateTime.Now |
JScript .Net | doc.Attributes("Date").Value = System.DateTime.Now; doc.Attributes("Date").Value = new Date(...); doc.Attributes("Date").Value = (new Date(...)).getVarDate(); |
JScript | this.Attributes("Date").Value = new Date(...); this.Attributes("Date").Value = (new Date(...)).getVarDate(); |
VBSkript | Me.Attributes("Date").Value = CDate(...) Me.Attributes("Date").Value = Now |
Feldern des Typs DAT_Currency können Werte zugewiesen werden, die Nummern eines beliebigen Typs oder von Objekten des Typs Currency (in VBSkript), System.Decimal (in .NET-Sprachen) oder System.Runtime.InteropServices.CurrencyWrapper (in .NET-Sprachen) sind. Einige Beispiele sind in der folgenden Tabelle aufgeführt.
Sprache | Beispiel |
---|---|
C# | doc.Attributes["Amount"].Value = 123.456; doc.Attributes["Amount"].Value = 123.456m; doc.Attributes["Amount"].Value = new System.Runtime.InteropServices.CurrencyWrapper(123.456m); |
Visual Basic .Net | doc.Attributes("Amount").Value = 123.456 doc.Attributes("Amount").Value = 123.456D doc.Attributes("Amount").Value = new System.Runtime.InteropServices.CurrencyWrapper(789.012D) |
JScript .Net | doc.Attributes("Amount").Value = 123.456; doc.Attributes("Amount").Value = new System.Decimal(123.456); doc.Attributes("Amount").Value = new System.Runtime.InteropServices.CurrencyWrapper(123.456); |
JScript | this.Attributes("Amount").Value = 123.456; |
VBSkript | Me.Attributes("Amount").Value = 123.456 Me.Attributes("Amount").Value = CCur(123.456) |
3/26/2024 1:49:48 PM