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

スポンサーサイト

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

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

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

リッチテキストの入力チェックをする

   ↑  2008/09/02 (火)  カテゴリー: Notes(LotusScript)
今日は,ド壺さんの記事を拝見させて頂いていて,
「なるほど,こういう情報があるといいのか」と気づかせていただきました。
ありがとうございます。

今回は,リッチテキストに
・文字
・添付ファイル
がないかのチェックを行います。
一度も保存をしなくても大丈夫な形式で書こうかな。と。

-----(以下内容)-----

Notes上ではリッチテキストは保存するまで値が確定しないので、
他のフィールドと同じように入力チェックを行うということはできません。
(※WEBではこの限りではありません)

保存前にリフレッシュをかけるとリッチテキストはテキストデータを失います。
しかし、添付ファイルがあるかどうかを認識させるには一度リフレッシュをかける必要があります。

よって、必然的に
「文字列の有無」→「添付ファイルの有無」
という実行順序になります。

リッチテキストにテキストデータの有無を確認するには
わざとエラーを起こす方法でチェックするので、
関数化することをお勧めします。

●IBMさんのサイト
https://www-06.ibm.com/jp/software/lotus/developer/library/rich-text-field-notes/index.html
保存する前に入力チェックをかけることができる関数化の例です。

これをそのまま使えるのは,
リッチテキストフィールドが他に無い場合のみ
なので気をつけてください(笑)

あくまでも流れの例なので,
実際にご使用になる場合は工夫してください。

フィールド名指定で,添付ファイルの有無と思っているので

If Isempty( ritem.EmbeddedObjects ) = False Then
ですが,

If doc.Hasembedded Then
でも文書の形式によっては良かったりも。

ただ,埋め込みオブジェクト,オブジェクトリンク,添付ファイルとかも
同じように検出するので用途が違うとおもうんだよね。

その外色々思うところあり。なコードですみませんw;

Function ChkRTF( fieldnameStr As String ) As Variant

On Error Goto Errhandle
ChkRTF = False

Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

Dim doc As NotesDocument , rItem As NotesRichTextItem

Set uidoc = ws.CurrentDocument

' セクションを開く(セクション回避)
call uidoc.ExpandAllSections

' フィールドの中身を選択させる → 空欄であれば選択時にエラー(4407)が発生する
Call uidoc.GotoField( fieldnameStr )
Call uidoc.SelectAll

' 選択解除
Call uidoc.DeselectAll
ChkRTF = True
Exit Function

ChkTmpFile:
Set doc = uidoc.Document

'添付ファイルを認識させる
Call uidoc.Refresh(True)

Set rItem = doc.GetFirstItem(fieldnameStr)
If Isempty(ritem.EmbeddedObjects) = False Then
' 添付ファイルがない
ChkRTF = False
Else
ChkRTF = True
End IF

Exit Function
Errhandle:
Select Case Err
Case 4407
' リッチテキストフィールドに何も無い
' →添付ファイルはあるかのチェック
Goto ChkTmpFile
Case Else
' その他エラー
Error Err
End Select
End Function
スポンサーサイト

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

2008/09/02 | Comment (0) | Trackback (0) | HOME | ↑ ページ先頭へ |

Comment

コメントを投稿する 記事: リッチテキストの入力チェックをする

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

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

Trackback

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。