作成者カテゴリ 
公開
Ru
09/17/2008 05:09 PM
クライアント
ノーツサーバノーツクライアントサーバOSクライアントOSネットワークプロトコル
6.x6.xWindows 2000 ServerWindows XP ProTCP/IP

文章のコピー&ペースト

こんにちわ。いつも参考にしています。
文章のコピー&ペーストについて悩んでおりまして,
良い手法があれば教えてください。

ビュー上で返答文書をコピーして,貼り付けを行うと,
選択されている文章が親となって文章が作成されると思います。
ただ以下の条件にあうように制御したいと思っています。
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


[Previous Main Document]
文章のコピー&ペースト (Ru) * 現在地 *
. . Re: 文章のコピー&ペースト (ひまつぶし)
. . . . Re: 文章のコピー&ペースト (Ru)
. . . . . . Re: 文章のコピー&ペースト (ひまつぶし)
. . . . . . . . Re: 文章のコピー&ペースト (「み」)
. . . . . . . . . . Re: 文章のコピー&ペースト (Ru)
. . . . . . . . Re: 文章のコピー&ペースト (Ru)
. . . . . . . . . . Re: 文章のコピー&ペースト (ひまつぶし)
. . . . . . . . . . . . Re: 文章のコピー&ペースト (Ru)
[Next Main Document]