遅くなりましたが、だいぶ前の、"OSにファイル名を送って実行" が一応完成しました。 それとコメント文を大量に記述してみました。これで、Scriptがわからなくても 大丈夫です。たぶん。エージェントに貼りつければ緑色になるし、見やすいと 思います。 先生方、間違っていたら、ご指摘ください。 Oエージェント1を作ります。 実行時期 : エージェントリストから手動で 実行する文書 : @コマンド使用時に1回実行 スクリプト に切り替えます。 (Declarations) に >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Declare Function FindExecutable& Lib "shell32" Alias "FindExecutableA" (Byval lpFile As String, _ Byval lpDirectory As String, Byval lpResults As String) ' Windows API (Application Programming Interface) を関数(Function)として ' 宣言(Declaration) しています。 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> を記述します。 (Initialize) に <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Dim session As New NotesSession '変数 sessionに新しい Notesセッションを用意して、Script実行環境を設定します。 Dim workspace As New NotesUIWorkspace '変数 workspace に新しく現在のワークスペース環境を設定します。 Dim uidoc As NotesUIDocument '変数 uidoc を ワークスペースで現在開かれている文書 を格納できる変数として宣言します。 Dim file As String '変数 file を 文字を格納する変数として宣言します。 Dim result As String *255 '変数 result を 文字を格納する変数として宣言します。255文字目までで文字列を切ってくれます。 Set uidoc = workspace.CurrentDocument ' uidoc 変数に workspace(現在のワークスペース) の現在の文書をセットします。 file = uidoc.FieldGetText( "path" ) 'file 変数 に uidoc(現在の文書) の path フィールドの 値 を代入します。 Call FindExecutable (file, "", result) ' API の FindExecutable を呼んでいます。 ' result 変数に file ( path フィールドの 値 )に関連付けされた ' Applicationの PATH(ファイル名) を入れてくれます。 Call session.SetEnvironmentVar( "ApPath01", Cstr(result) ) ' Notes環境変数にAPPATH01 という行を作って 、 ' result (Applicationの PATH)を = に続けて書きこんでくれます。(すでにある場合は上書き) Cstr()は、@Textです。 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< を記述します。(Sub Initialize と End Subの間です。) Oエージェント2を作ります。 実行時期 : エージェントリストから手動で 実行する文書 : @コマンド使用時に1回実行 式 に切り替えます。 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ApPath := @Text(@Environment("ApPath01")); @PostedCommand([Execute];ApPath;path) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Oフォームにpath フィールドを作ります。 Oフォームに <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< filename:=@Prompt([LOCALBROWSE]; "ファイルを選択してください。"; ""); fname:=@If(@Contains(filename;" ");"\""+filename+"\"";filename); @SetField("path";fname) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< このようなアクション(もしくはボタン)を作ります。(編集時 以外非表示) Oもうひとつ、フォームに >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @Command([ToolsRunMacro];"(エージェント1)"); @PostedCommand([ToolsRunMacro];"(エージェント2)") >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> このようなアクション(もしくはボタン)を作ります。 以上の操作で骨組みが出来ます。 あとは、用途に合わせて・・・・。