いいね!数

0

閲覧数
97

フォーム上に埋め込みビューがあります。これとは別にフォーム上にボタンがあります。

ボタンをクリックした際に実行されるLotusScriptコードの中で、埋め込みビューで選択されている文書を取得して処理したいです。

埋め込みビュー側のコードであればNotesUIWorkspace.CurrentViewでNotesUIViewを取得してDocumentsなりCaretNoteIdなりで文書を取得できますが、フォーム側のコードを実行しているときはCurrentViewが存在せず文書を取得できません。

フォーム側のコードから埋め込みビューで選択している文書を取得する方法は無いでしょうか?

サーバー情報: | クライアント情報:Windows 109.0.1FP9 | 
カテゴリ:アプリ開発 - Notes アプリ | タグ:
  | 質問日時:Oct 10, 2019, 2:00:58 PM

回答・コメント

いいね!数

1

無いと思います。次の文書が回答になるかと思います。

How to get a handle on selected documents in an embedded view when using LotusScript

同じ問題に悩む人は意外に多いのかもしれませんね。Product Ideas Forum へ投稿してみてはいかがでしょうか。

回答日時:Oct 10, 2019, 4:55:32 PM

いいね!数

0

だいぶ時間がたっているので見てるかどうかわかりませんが・・・

埋込ビューの OnSelect() にコードを仕込むことで一応取れます。

Sub Onselect(Source As Notesuiview)
	
	If Source.CaretNoteID="0" Or Source.CaretNoteID=""  Then
		Exit Sub
	End If
	
	Dim session As New NotesSession
	Dim env As String
	Call session.SetEnvironmentVar( "CaretNoteID", Source.CaretNoteID )
	
End Sub
回答日時:Feb 14, 2020, 6:30:38 PM

いいね!数

0

コメントありがとうございます。ちゃんと見ていますよ。

なるほど、環境変数を介して情報をやり取りしているのですね。

Notesのオブジェクトモデルに対応する機能が無い以上、何らかの方法で無理やり情報をやり取りするしかないということですね。

 

どうもNotesのオブジェクトモデルは、アプリの見た目の階層構造に対応したオブジェクト階層構造になっていない部分があって使いにくいですね。

以前フレームセットに対応するオブジェクトが無いと書き込んだ覚えがありますが、今回の件も、NotesUIDocument.EmbeddedViewみたいなプロパティが欲しいと思います。

 

Product Ideas Forumで要望してみてはというご提案もありましたが、要望がかなえられたとしてもそのバージョンのNotesを会社が導入してくれる保証はありませんし…

回答日時:Feb 20, 2020, 12:36:57 PM