フレーム設計はNotes5の時代からあるので、設計ミスかどうかは分かりませんが、フレーム間の動きは弱いですね。
ちなみに式でやればうまくいきました。
@SetTargetFrame( "FrameB" );
@Command([FilePrint])
式で出来たエージェントをスクリプトのagent.runでいけるか試してみましたが、こちらはダメでした。
なので、スクリプトだけでするとなると、ykawaさんが仰るように、開きなさないとだめだと思います。
下記は、左のフレームにあるビュー上でカーソルある文書を右フレーム(FrameB)に開いて印刷するといったものですが、実現できました。
右で開いているdocが取れる前提です。
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument()
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Call workspace.SetTargetFrame("FrameB")
Set uidoc = workspace.EditDocument(False, doc)
Call uidoc.Print