当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2011年2月22日火曜日

GetItemValue使用時の注意点

花粉が舞う季節になりました。筆者の身体は、徐々に反応してきています。薬で抑えているとはいえ、やはり辛いです。なんとかしないと・・・

と、筆者の花粉症が少しでも良くなるように願いつつ、このボタンをクリックしてください。
にほんブログ村 IT技術ブログへ




さて、今回は、NotesDocumentクラスのGetItemValueメソッドを使用する際の注意点についてです。
何を今更・・・という感じではありますが、再確認してみましょう。

GetItemValueメソッドは、指定した文書のアイテム値を取得するものです。
この時、アイテムは「テキスト」だったり「数値」だったりするため、Variant型で戻されます。
また、アイテムは複数値の場合もあるため、配列として返ってきます。

これを複数値として認識するのではなく、単なる文字列として扱いたい場合は、NotesItemクラスのTextプロパティを使うと良いです。

サンプルは、GetItemValueとTextの違いを比較するためのものです。
textListFというアイテム(フィールド値)には複数の値が格納されているものとします。

Sub Click(Source As Button)
    Dim uiws  As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim udoc  As NotesDocument
    Dim item  As NotesItem
    
    Set uidoc = uiws.CurrentDocument
    Set udoc  = uidoc.Document
    Set item  = udoc.GetFirstItem( "textListF" )
    
    MsgBox _
    "GetItemValue(0)の値" & Chr$(9) & udoc.textListF(0) & Chr$(10) _
    "Text           の値" & Chr$(9) & item.Text, _
    MB_OK + MB_ICONINFORMATION, "各プロパティの違い"
End Sub



下図が実行結果です。GetItemValue(0)は、当然最初の一つしか出力していません。

ということで、GetItemValueを使う場合は、そのアイテムが複数値を持っているかどうかを確認するようにしましょう。



【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: