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)

26.03.2024 13:49:48

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.