[Notes/Domino] アイテム一覧表示・置換ツール
以前に一括置換ツールというソフトを公開しましたが、それの大幅改修版を作成しました。アイテム一覧表示機能が追加されましたので、名前は一括置換ツールVer.2ではなく、「アイテム一覧表示・置換ツール」としています。
実はこのソフト、数年前にほぼ出来上がってはいたのですが、説明文を書くのが面倒で、ずっと放置していました(^^;
一括置換ツールよりかなり使いやすくなっていると思いますので、よろしければ使ってみてください。(わたし自身はもう使うことはないかもしれませんが……(涙))
概要
本ソフトを起動すると、以下のような画面になります。
大まかには、以下のようなことができます。(赤字は一括置換ツールにない機能です。)
- アイテム値を一覧表示できます。(更新日時などでのソートも可能)
- 複数文書のアイテム値を一括置換・削除できます。(文書が開いている場合は、その文書が対象となります)
- 複数のアイテムを同時に置換・削除することができます。
- 新規アイテムを追加することができます。
- 置換後の型(文字列、数値、日付/時刻、複数値)を選択できます。
- フィールドの属性・フラグ(作成者、読者、名前、Summary)を指定できます。
- @関数式を使用することにより、複雑な条件での値置換をすることができます。
動作環境
本ソフトは R6.0x 以上のノーツクライアント かつ Windows で動作します。
また、IE11 がインストールされていて、HTA が動作する環境であることも必要です。(IE10 以下でも動くかもしれませんが、動作検証は行っていません。また、ウイルスソフトや会社の環境によっては、動かない場合もあるかもしれません。)
ライセンス
当ソフトはフリーソフトです。ご自分で使用する分には、ソースを変更してもかまいません。
ただし著作権は takenoff が保有しておりますので、名前を騙って再配布するような行為はやめてください。
既知の問題・注意事項
- 複数値の場合、値に改行が含まれているものは、改行で分割されてしまいます。これは、複数値の区切りを改行としているためです。どうしても改行を含ませたい場合は、@関数式による置換を行ってください。
- 起動時に表示されるアイテム値は、選択している文書のうち、作成日が最も古い文書の値となります。ハイライトしている文書の値ではないので注意してください。
- リッチテキストを置換した場合は、普通のテキストとなります。
- ソフトを起動した後にビューや文書を切り替えないようにしてください。処理対象のビューや文書は、あくまでソフトを起動したときに表示されていたものが対象となります。(ただし、一覧表示のみで置換をしないのであれば、この限りではありません。)
- 複数文書を選択しても1文書しか置換できない現象が発生することがあるようです。原因は不明ですが、ノーツを再起動したり、何度か当ソフトを起動すると、いつの間にか直るようです。
- 暗号化されたアイテムは、暗号を解読できる場合は、復号化後のデータに置換されます。
- 「更新日時」列の表示は、必ずしも正しい値が表示されるわけではありません。(特に、文書を開いているときはおかしいことが多いです。)これはノーツ側の問題になります。(本ソフトは NotesItem.LastModified の値をそのまま表示しているだけです。)
免責事項
当ソフトを使用したことによって発生した損害については、作者は一切賠償責任を負わないものとさせていただきます。
特に、このソフトの性格上、誤った操作によりフィールド値を不正に書き換えたりしてしまうと、取り返しのつかないことになることもあります。
(ありがちなのが、読者名フィールドに誤った値を入れて、誰も文書を見られなくなってしまった……など。フルアクセスアドミニストレータ権限があればなんとかなりますが、この権限がないと文書が復活できなくなります(> <))
必ずテストを行った上で、ご自身の責任において使用するようにしてください。
インストール方法
1. 以下のリンクから Zipファイルをダウンロードします。
itmvwrpl.zip をダウンロード (約12KB)
2. Zipファイルをノーツデータディレクトリに解凍します。
(Zipファイルにはパスワードがかかっています(一般ユーザーに使用されると困るツールなので)。パスワードは、「"0"を入れておくと文書を保存できなくなる特殊フィールド名」です。大文字小文字を区別しますのでご注意を) パスワードがどうしても解らない方は、こちらをご覧ください。
(Zip ファイルを落とすことに抵抗がある方は、http://takenoff.com/files/software/{パスワードの文字列}/itmvwrpl.html にアクセスし、表示されたソースコードをコピーして、テキストエディタにペーストし、「.hta」の拡張子で保存してください。)
(※解凍したファイルをダブルクリックすれば起動しますが、以下の手順でツールバーボタンを作っておくと、より便利です。)
3. ノーツクライアントを起動し、[ファイル]メニュー → [設定](R8以前は[プリファレンス])実行してください。
4. (適当なツールバーがない場合のみ)設定ダイアログで、[ツールバー] → [新規ツールバー] をクリックし、ツールバー名を入力します。
5. [カスタマイズ] をクリックして4で作成したツールバーを選択し、[新規] → [ボタン] を選択します。
6. 「ツールバーボタンの編集」ダイアログで、ボタン名と式を入力します。
式は、以下のように入力してください。
@Command([Execute]; "mshta"; "file:///{ノーツデータディレクトリのパス}/itmvwrpl.hta")
(設定例)ノーツデータディレクトリが C:\Program Files (x86)\IBM\Notes\Data の場合、以下のようになります(「\」は「/」に変換し、スペースは「%20」とします)。
@Command([Execute]; "mshta"; "file:///C:/Program%20Files%20(x86)/IBM/Notes/Data/itmvwrpl.hta")
引数に「 /ra」を付けると、読者・作成者アイテム限定モード(読者名アイテム、
作成者アイテムのみが表示されるモード)になります。大変便利ですので、これ用のボタンをもう1つ作っておくことをおすすめします。
@Command([Execute]; "mshta"; "file:///C:/Program%20Files%20(x86)/IBM/Notes/Data/itmvwrpl.hta /ra")
以上でインストール完了です。
ツールバーボタンが表示されない場合は、[表示]メニュー → [ツールバー] で、4で作ったツールバーが選択されているか確認してください。
ツールバー全体が表示されていない場合は、[表示]メニュー → [ツールバー] → [編集中のみツールバーを表示] or [すべてのツールバーを隠す] をオフにしてください。
アイテム一覧の表示
1. ビューで該当文書にチェックマークを入れ、インストール手順で作ったツールバーボタンをクリックします。(文書をハイライトしている状態、または文書が開いている状態でも実行できます。)
2. アイテム一覧が表示されます。
3. 三角マーク(「▲」「▼」)をクリックすると、その項目でソートすることができます。また、「■」をクリックすると、チェックが入っているアイテムのみ表示することができます。
※「更新日時」の値は NotesItem.LastModified の値をそのまま表示していますが、たまにおかしな値になるようです(これはノーツ側の問題です)。特に、文書を開いているときはおかしくなることが多いようですので、「更新日時」を参照する場合は、ビューから実行することをおすすめします。
アイテムの置換・削除
1. ビューで該当文書にチェックマークを入れ、インストール手順で作ったツールバーボタンをクリックします。(文書をハイライトしている状態、または文書が開いている状態でも実行できます。)
2. 置換(または削除)したいアイテムの横にあるチェックボックスにチェックを入れ、右側のテキストエリアで変更後の値を入力します。(複数のアイテムを同時に置換(または削除)することが可能です。)
2'. 新規アイテムを追加したい場合は、左下の「新規アイテム」ボタンをクリックしてください。その後、アイテム名を入力し、値を入力してください。(※「新規アイテム」ボタンは、「最下部にスクロールして一番下のチェックボックスにチェックを入れる」という動作になります。)
3. 「置換/削除処理実行」ボタンをクリックします。
(※文書を保存したい場合は、「文書を保存」にチェックを入れてください(ビューから実行した場合は、自動的にチェックが入り、変更はできません))
4. 確認メッセージが表示されますので、「はい」をクリックします。
5. 自動的に置換(または削除)処理が行われます。
- [キャンセル]ボタンにて、処理を途中でキャンセルすることもできます。
- 当然ながら、実行ユーザーが編集権限を持たない文書に対して実行しても、エラーとなります。
入力画面の詳細
値を置換する場合は「置換」を、削除したい場合は「削除」を選択します。
削除を選択した場合は、入力欄やその他のオプションは表示されなくなります。
「@関数式」を選択すると、@関数式によって値を置換することができます。
右側の入力欄には、値の代わりに@関数式を入力してください。
その戻り値が該当のフィールドにセットされます。
(例1)Subject の値を Subject の先頭3文字にするには、以下の式を入力します。
@Left(Subject; 3)
(例2)Flag の値が"1"の場合は FieldA の値を、それ以外は FieldB の値をセットする場合は、以下の式を入力します。
@If(Flag = "1"; FieldA; FieldB)
- @Command や、UI系の関数(@Promptなど)は使用することはできません。
- @ThisValue や @ThisName も使用できません。
- 「@関数式」を選択すると「文字列」「数値」「日付/時刻」「複数値」の項目が非表示となります。これは、@関数式の戻り値によって型や複数値かどうかが決まるからです。
【注意事項】
@関数式を使った置換では、COM の機能を使用しています。が、R6.0.0~R6.0.3 のノーツクライアントでは、インストーラーの不具合により、デフォルトでは COM の機能が使用できません。COM の機能を使えるようにするには、コマンドプロンプトで以下のコマンドを実行して、COM をレジストリに登録する必要があります。
regsvr32 "{ノーツディレクトリのパス}\nlsxbe.dll"
また、@関数式による置換を行う際に、パスワードを要求されることがあります。パスワードダイアログを表示しないようにするには、ノーツクライアントで [ファイル]メニュー → [セキュリティ] → [ユーザーセキュリティ] で表示されるダイアログの [基本]タブにある、「他のNotesベースのプログラムでパスワードプロンプトを表示しない」にチェックを入れてください。(ただし、これによってセキュリティは低下します。)
「拡大」をクリックすると、大きい入力欄が表示されます。
「文字列」「数値」「日付/時刻」を選択することにより、フィールドの型を変更することができます。(既存のフィールドを選択した場合は、型の初期値は自動的に判定されます。)
「複数値」にチェックを入れると、複数値として値をセットすることができます。
区切り文字は改行を使用してください。(したがって、複数値の各項目中に改行が含まれるデータについては、本ソフトでは扱うことはできません。(式を使用すれば可能ですが))
(既存のフィールドを選択した場合は、複数値フィールドの場合、初期値として自動的にチェックが入ります。また、読者名、作成者、名前を選択した場合も、自動的にチェックが入ります(名前系のフィールドで改行が入ることは基本的にないため)。)
「作成者」「読者」「名前」「Summary」のいずれか(または複数)にチェックを入れることにより、フィールドフラグを変更できます。
「作成者」「読者」「名前」を選択した場合で、ユーザーIDを入力する場合は、基準書式(CN=が付くやつ)で入力するようにしてください。「作成者」「読者」の場合は、1文字でも間違えるとエラいことになる可能性があるので、充分に注意してください。
「Summary」は、ビューに表示するかどうかのフラグです。フォームにフィールドがある場合は、基本的にチェックを入れたままにします。
(既存のフィールドを選択した場合は、これらのフラグは、初期値として自動的にチェックが入ります。)
変更履歴
Ver. | 変更日 | 変更内容 |
---|---|---|
1.00 | 2017/10/20 | 初版作成 |
コメント
お世話になります。
一括変換利用させていただいています。
複数の文書のステータス変更など非常に便利です。
今回の一括変換ツールDL、設定させていただきました。
ありがとうございます。
Posted at 2017/10/22 9:35 AM by NoName
コメントありがとうございます!
お役に立てればうれしいです 😀
Posted at 2017/10/22 9:52 AM by takenoff
大変便利な変換ツール、使わせていただいてます。
アクティブなNotes開発者です。
今までどれだけこちらのブログの情報に助けられてきたかわかりません。
ありがとうございました。
Notesから離れられても、しばらくはブログを残していただけるとありがたいです。
どうぞよろしくお願い致します。
Posted at 2017/10/30 4:08 PM by iw
iw さん、コメントありがとうございます!
このブログがお役に立っていたなら、大変うれしいです 😀
ブログを消すつもりは今のところありませんので、ご安心(?)を。
今後 Notes ネタは減ってしまうと思いますが……(涙
Posted at 2017/10/30 5:27 PM by takenoff
※コメントは承認制となっております。管理者が承認するまで表示されません。申し訳ありませんが、投稿が表示されるまでしばらくお待ちください。