Accéder aux valeurs du champ d'index
L'interface IAttributes représente une collection de champs d'index. Les éléments de la collection implémentent l'interface IAttribute .
Il est possible d'accéder aux éléments de la collection soit par l'index (consultez Utilisation des collections d'objets) soit par le nom du champ d'index. Si un champ spécifié n'existe pas dans la collection, une exception sera lancée.
Le tableau ci-dessous montre comment accéder aux champs d'index à partir d'un script d'indexation automatique.
Langage | Accéder à un champ d'index par l'index | Accéder à un champ d'index par le nom |
---|---|---|
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") |
VBScript | Me.Attributes(0) | Me.Attributes("Name") |
Vous pouvez obtenir et définir la valeur d'un champ d'index à l'aide de la propriété Valeur de l'interface IAttribute . Par exemple :
// C#
IAttribute attr = doc.Attributes("Name");
var current = attr.Value;
attr.Value = ...;
Le type de la valeur dépend du type du champ d'index (voir le tableau ci-dessous).
Type de champ d'index | Type VARIANT | Type .NET |
---|---|---|
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 |
Les champs de type DAT_MultipleLines peuvent être affectés aux valeurs qui sont des tableaux de chaînes ou des objets de type IStringsCollection. Quelques exemples sont présentés dans le tableau ci-dessous.
Langage | Exemple |
---|---|
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"]; |
VBScript | Me.Attributes("Authors").Value = Array("Bob", "Alice") |
Les champs de type DAT_DateTime peuvent être affectés aux valeurs qui sont des objets de type Date (dans VBScript ou JScript) ou System.DateTime (dans les langages .NET). Quelques exemples sont présentés dans le tableau ci-dessous.
Langage | Exemple |
---|---|
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(); |
VBScript | Me.Attributes("Date").Value = CDate(...) Me.Attributes("Date").Value = Now |
Les champs de type DAT_Currency peuvent être affectés aux valeurs qui sont des nombres de n'importe quel type ou objet de type Currency (dans VBScript), System.Decimal (dans les langages .NET) ou System.Runtime.InteropServices.CurrencyWrapper (dans les langages .NET). Quelques exemples sont présentés dans le tableau ci-dessous.
Langage | Exemple |
---|---|
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; |
VBScript | Me.Attributes("Amount").Value = 123.456 Me.Attributes("Amount").Value = CCur(123.456) |
26.03.2024 13:49:50