こんにちわ。いつも参考にしています。 文章のコピー&ペーストについて悩んでおりまして, 良い手法があれば教えてください。 ビュー上で返答文書をコピーして,貼り付けを行うと, 選択されている文章が親となって文章が作成されると思います。 ただ以下の条件にあうように制御したいと思っています。 1.選択されている文章が返答文書だった場合,貼り付け出来ないようにしたい。 2.返答文書以外はコピー禁止又は貼り付け禁止にしたい。 1の用件はビューのQuerypasteイベントでコピー先の判定が出来るので制御できています。 (CaretNoteIDから$REFを判定。) 2の用件はコピー後のクリップボードの情報を取得して $REFの判断がつけば対応できると思っているのですが, クリップボード内のデータを調べる方法が分かりません。 以下のURLの情報を参考にクリップボードの情報を読みとれたのですが, 戻り値がStringなので文章情報が取得できませんでした。 (Excel等のテキスト情報は取得できました) http://www.openntf.org/Projects/codebin/codebin.nsf/CodeBySubType/07A9AA06F546523C88256BDC000CC189 (Example 2 - Accessing the Windows clipboard) 文章のコピー情報を取得できれば,他にも応用できると思ってます。 何か良い手法ご存じの方がいれば教えてください。 よろしくお願いします。 ※1のソース Sub Querypaste(Source As Notesuiview, Continue As Variant) Dim Session As New NotesSession Dim Db As NotesDatabase Dim Doc As NotesDocument Dim retStr As Variant Set Db = Session.CurrentDatabase Set Doc = Db.GetDocumentByID(Source.CaretNoteID) If Not(Doc Is Nothing) Then retStr = Evaluate("@IsAvailable($REF)", Doc) If Datatype(retStr) <> V_EMPTY Then If retStr(0) = 1 Then Msgbox("返答文書以外を選択してから貼り付けてください。") Continue = False End If Else Msgbox("予期せぬエラー。設計者に連絡してください") Continue = False End If Else 'カテゴリを選択されている場合 Msgbox("選択しているデータは文章ではありません。") Continue = False End If End Sub