インデックスフィールド値へのアクセス
IAttributesインターフェースはインデックスフィールドのコレクションを表します。コレクション内のアイテムは IAttribute インターフェースを実装します。
コレクションのアイテムはインデックス (オブジェクトコレクションの使用を参照) またはインデックスフィールド名でアクセスできます。指定されたフィールドがコレクションに存在しない場合は、例外がスローされます。
以下の表は自動インデックス作成スクリプトからインデックスフィールドにアクセスする方法を示します。
言語: | インデックスでインデックスフィールドにアクセス | 名前でインデックスフィールドにアクセス |
---|---|---|
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") |
Valueプロパティ(IAttribute インターフェースの)を使用してインデックスフィールドの値を取得、設定できます。例えば:
// C#
IAttribute attr = doc.Attributes("Name");
var current = attr.Value;
attr.Value = ...;
値のタイプはインデックスフィールドのタイプにより異なります(以下の表を参照)。
インデックスフィールドのタイプ | バリアントタイプ | .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 |
DAT_MultipleLinesタイプのフィールドには文字列配列またはIStringsCollectionタイプのオブジェクトである値を割り当てることができます。一部の例は以下の表に記載されています。
言語: | 例: |
---|---|
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") |
DAT_DateTimeタイプのフィールドにはDateタイプ (VBScriptまたはJScript) またはSystem.DateTimeタイプ (.NET言語) のオブジェクトである値を割り当てることができます。一部の例は以下の表に記載されています。
言語: | 例: |
---|---|
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 |
DAT_Currencyタイプのフィールドには、Currency(VBScriptの場合)、System.Decimal(.NET言語の場合)、またはSystem.Runtime.InteropServices.CurrencyWrapper(.NET言語の場合)タイプの任意のタイプまたはオブジェクトの値を割り当てることができます。。一部の例は以下の表に記載されています。
言語: | 例: |
---|---|
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:51