01647

ustreamer-01647

Onetasticマクロチュートリアル抄訳

原文はOnetastic for OneNote - Macro Tutorial Sep 20 2012

詳細はOnetastic for OneNote - Extending possibilities with Macros.マクロエディタについては下記のとおり.

f:id:paulga:20140322110228p:plain

名前とカテゴリと説明文を設定できる.左のコマンドを選び,右側で構成して作る.マクロは追加,削除ボタンで作成できる.さて詳細に触れる前に,マクロがどう作られどう動くのか,単純なマクロで見ていこう.

オブジェクト検索と改変

このマクロはページ中の全テキストを対象として,フォントサイズを1ptだけ大きくする.

f:id:paulga:20140322110244p:plain

単純だろう?このマクロは現在のページについて,テキストを探す.そしてプロパティ「fontSize」を1増加するよう改変する.マクロの青下線部分はクリックして変更できる.例えば,「Text」をクリックして違うオブジェクトタイプを選ぶことだってできる.

f:id:paulga:20140322110303p:plain

同様の操作で,改変したいプロパティを選ぶことだってできる.

状態によってオブジェクトをフィルタする方法

ページ上のオブジェクトについて問い合わせたいとき,使用条件を設定できる.

f:id:paulga:20140322110316p:plain

例えば,「John」が編集した段落を探し,かつ表の一部を選択している場合を示す.

f:id:paulga:20140322110333p:plain

「Is under」と「That has」を組み合わせて,もっと複雑な条件だって設計できる.多くの条件を指定できるから,必要なだけ追加すると良い.

変数の使用方法

変数を一時的に保存し,操作できる.表の最初のセルのテキストを用いて,全セルをリセットする例を示す.最初のセルテキストを変数に格納している.

f:id:paulga:20140322110343p:plain

このマクロは,表の最初のセルのプロパティ「text」を変数「TextOfFirstCell」に格納し,表の全てのセルにそのテキストを設定する際に再使用している.変数を追加したい場合,または既に作った変数を使用したい場合には,ただ青下線部をクリックし,オプションを選ぶだけだ.

f:id:paulga:20140322110401p:plain

ご覧のとおり,プロパティか変数(存在しているものかまたは新規の)のどちらかに変更できる.

改変を状態別に適用する場合

差異を持つ状態に基づいて,改変を適用したいだろう.「That has」と「Is under」フィルタはその要求に少しだけ寄与するが一度限りだ.ほにゃららすることはできない.これを提供するため,IF/Else節が使える.作成者別にテキストをハイライトしてみよう.

f:id:paulga:20140415103612p:plain

大変複雑な文を構築することで,選択的に改変できる.「If」は状態を,変数についても演算できる.比較演算子も多彩だ.

f:id:paulga:20140415103624p:plain

インデックスを使用して,一連の値を変数に格納する方法

<キー,値>ペアのように,一連の値を格納する手段を提供している.インデックスがこれを実現する方法だ.説明のため,この例を使う:表の最初の行を値を,第2行にコピーする.

f:id:paulga:20140415103632p:plain

それぞれのセルについて,プロパティ「rowIndex」を検査する.最初の行においては,rowIndex値は0.そして第2行は1だ.第1行の各セルのテキストを,「Text」と名付けた変数を列番号(プロパティ「colIndex」)でインデックスしつつ格納している.

f:id:paulga:20140415103727p:plain

定数値の使い方

That/Modify/If 節の右辺で定数値を使える.既に,これまでの例で使用している.右辺をクリックするとプロパティ値と変数値,そして「Enter literal value」のリストが見られる.左辺がプロパティなら,このような図になるだろう.

f:id:paulga:20140415103815p:plain

ここで,プロパティ「選択状態」は「none」,「partical(一部)」または「all」のいずれかになり得るもので,それらから選べる.あるいは,手作業で値を入力できる.

ユーザ入力要求

マクロの振る舞いを変更するために,マクロ実行中にユーザ入力を要求できる.そのためにはModify節を追加し,左辺に変数を選ぶ.右辺には「Prompt user for value」を選ぶ.するとユーザ入力の設定ダイアログが開かれる.例えば,テキストを検索するマクロ(例えば「検索と置換」)を組むとしよう.

f:id:paulga:20140415103830p:plain

f:id:paulga:20140415103856p:plain

ここで出来ることは,

  • ユーザへのメッセージ(またはそれを格納した変数)
  • ユーザ入力受付形式
  • 入力初期値(テキストまたはドロップダウン形式)
  • 取り得る値(ドロップダウン形式)
  • 空入力受付可否(テキスト形式)

先の設定でマクロを作ると,その実行中,次のようなダイアログを作る.

f:id:paulga:20140415103908p:plain

メッセージと初期値の配置が分かるだろう.もし複数の連続したユーザプロンプトを持っている場合,Onetasticはそれらを単一のダイアログにまとめる.検索と置換マクロの例を以下に示す.

f:id:paulga:20140415103916p:plain

f:id:paulga:20140415103922p:plain

4個のModify節が4個の入力欄を持つダイアログに入っている.テキスト形式の「Find what」と「Replace with」,ドロップダウン形式の「Scope」,チェックボックス形式の「Match case」.Find whatのFのように,下線付きショートカットキーが見える.これは文字「&」の右の文字と対応している.これはWindows標準のラベルアクセラレータ仕様だ.「Alt+F」を入力すると,カーソルが「Find what」ボックスに移動する.最後になるが,最初の入力で空入力を認めないと設定したため,OKボタンはそれにユーザ入力が収まるまで有効化されない.

マクロログ

自作マクロを動かした時,もしも思いどおりに動かなかったなら,その原因を調べるためにログ生成という方法がある.そのためには,リボンにあるSettingsでEnable Macro Loggingをチェックしてからもう一度マクロを動かすのだ.これはmacrolog.txtを%appdata%Onetasticに生成する.変数とプロパティの値をログファイル中で確認できる.

終わりに

マクロの作り方について,諸君らにいくつかのアイデアが与えられることを望む.ドロップダウン「Edit Macro」で既存のマクロについてもまた,マクロエディタで見られる.それらの働きを理解するために,そのマクロを調べたり試したりできる.

更新: テキスト挿入マクロのチュートリアルを利用できる.Onetastic for OneNote - Macro Tutorial - Inserting Text

更新2: Macrolandにあなたのマクロを投稿できる.詳細はOnetastic for OneNote - Upload your Macros to Macroland