LotusNotesな日々IBM社のLotusNotesに関係する何かを日々語ってるようなきがしないでもないブログです。 

スポンサーサイト

   ↑  --/--/-- (--)  カテゴリー: スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

(記事編集) http://mesosune.blog123.fc2.com/?overture" target="_new

--/--/-- | Comment (-) | HOME | ↑ ページ先頭へ |

LotusScriptでフィールドの値を取得するには?

   ↑  2008/07/22 (火)  カテゴリー: Notes(LotusScript)
JavaScriptでの値の取得方法をやったので、
LotusScriptでの値の取得方法もしないとねw

その方法ずばりというより、ほとんどデザイナーヘルプの見方かもしれない。
JavaScriptでの値の取得方法をやったので、
LotusScriptでの値の取得方法もしないとねw

その方法ずばりというより、ほとんどデザイナーヘルプの見方かもしれない。

=============
■1.まず変数を宣言する
=============
変数を宣言する、とは"この文字列はコレです"とか"この文字列はこのカタチです"と言い切ることです。
コンピュータにこの文字列がきたらこのカタチだよと認識させるためのラベル張りのようなものです。

Dim ws As New NotesUIWorkspace
Dim ses As New NotesSession

Dim uidoc As NotesUIDocument
Dim doc As NotesDocument

ワークスペースへアクセスする状態を変数wsに格納する。
セッションへアクセスする状態を変数sesに格納する。

uidocはNotesUIDocument型の変数です。
docはNotesDocument型の変数です。

という意味。

※UIと型名に入っている場合はすべからくUI型。

※NotesUIWorkspace と NotesSession に new が必要な理由( → New キーワード )
今からそこにアクセスしている状態を ws や ses に代入するという意味だから。

その下の NotesUIDocument や NotesDocument に new がついていないのは、
単純にこの変数のカタチはコレです。としているだけだから。

もちろん、他のところで既に状態をもっていている変数を違う変数に代入したい場合はnewは必要ないですよ。

たとえるならば、
newがつくと「この箱は今現在私が持っているダンボールで中にはナニカが入っている」
となるのに対して、
newがつかないと「この箱はダンボールです」
となる。そんだけ。

=============
■2.変数に存在を与える
=============
Dim ws As New NotesUIWorkspace
Dim ses As New NotesSession

Dim uidoc As NotesUIDocument
Dim doc As NotesDocument

Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document

今ワークスペースで現在開いている文書をuidocに格納せよ。
uidocのうち、ドキュメント部分だけdocに格納せよ。
という意味。

※Setが必要な理由
物理的な存在( → オブジェクト参照変数 )にはSetが必要、
論理的な存在( → オブジェクト参照変数以外 )にはSetは必要ない。

論理的な例は、
Dim exStr as String
exStr = "あいうえお"
など。
( →スカラー変数、リスト変数、配列変数がそれにあたる )

型宣言がクラス化されているもののほとんどは、
物理的にも存在することが必要なのでSetが必要なことが多い。

つけるかつけないかが分からない場合は、デザイナーヘルプで確認してみてください。

※変数に存在を与えるには色々な方法がある。
たとえば、

Dim ses As New NotesSession
Dim doc As NotesDocument

Set doc = ses.DocumentContext
など。

上記はWebエージェントで現在の文書を取得する時に使用する形式です。
上記と使い方と意味が違うので注意してください。

「やりたいこと」によって変数への存在の与え方はかわります。
何をさせたいのか、何が出来るか
という視点でデザイナーを探してみるのが良いでしょう。

つまることろ、
目的意識もなくデザイナーを読むっていうのは
あまり意味がないというか身につかないとおもうんだよね。

目的意識をもって読もうぜ。
というところです。

=============
■3.存在から値を取得する
=============
変数の中に存在するモノの中からその欲しいモノを指定します。
存在するための条件(=型)や欲しいものの種類によって、その指定の仕方が異なります。

たとえるなら、
何かが入っているダンボールかプラスチックの箱から
その箱の形状を抜き出すのか、中に入っているはずの一個の部品を取り出すのか…
と、指示する内容によって命令の仕方がかわってくるということです。

難しい、と思ったそこの貴方。
ちっとも難しくなんかありませんヨ。

やりたいことがかわると
言い方がかわる日本語と感覚は一緒なんですから^^

ここではやりたいことの言い方(表現方法)の種類を実際に探してみよう、程度に読んでみてください。
実際にデザイナーで探してみることもお忘れなく。

では、ナニカが入った変数( → オブジェクト参照変数 )から
対象を指定して値を抜き出してみましょう。

今回はフィールドってことで。

Dim ws As New NotesUIWorkspace
Dim ses As New NotesSession

Dim uidoc As NotesUIDocument
Dim doc As NotesDocument

Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document

Dim exStr as String

exStr = uidoc.FieldGetText( "フィールド名" )
exStr = doc.フィールド名(0)

一個目のexStrと二個目のexStrは"たぶん"、一緒。
指定されたフィールドそのものがどんな形状をしているかによって、取得できる方法も異なります。
取得できた値のカタチもまたかわってくるので必ず一緒にはなりません。

たとえば、日本語を数字に格納はできないっていうお約束がある(→バイト数が違うため)
など、組み方によってがもしかしたらエラーになるかもしれません。

条件をわけたいとね!!

今回の目的はフィールドの値取得だけだからここまで。
ということで次は条件分岐に続きます。
スポンサーサイト

(記事編集) http://mesosune.blog123.fc2.com/blog-entry-112.html

2008/07/22 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |
この次の記事 : 東証でまたシステム障害ですよ。
この前の記事 : ドラゴンフォースPS2版

Comment

コメントを投稿する 記事: LotusScriptでフィールドの値を取得するには?

お気軽にコメントをぞうぞ。
非公開 (管理人のみ閲覧可能なコメント) にしたい場合には、ロック にチェックを入れてください。

  任意 : 後から修正や削除ができます。
  非公開コメントとして投稿する。(管理人にのみ公開)
 

Trackback

この次の記事 : 東証でまたシステム障害ですよ。
この前の記事 : ドラゴンフォースPS2版
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。