Excel customUI for LR2スキンcsv

- Excel2010以降が必要です。
Excel2007でもいくつかの機能は動作しますがちょっと対応面倒なので動作保障外ということで。
もし起動時にエラーが出る場合はこちらをダメ元で試してみて下さい。
Office2013 評価版で動作確認済みですのでExcel持っていない方も是非。(要Microsoftアカウント)
※Office評価版は2ヶ月間試用出来ます。
- Excel2013を使っている場合は導入前にこちらを参考にスタート画面の表示を切って下さい。エラー吐きます。
- Excelアドインの追加方法はこちら。
- 画面の水平解像度は1920px以上推奨。
- VBAマクロは原則として「元に戻す」コマンドが使えません。充分ご注意下さい。
- よくバグります。マクロの無限ループを停止させるにはCtrl+Breakを押して下さい。
- デフォルトで「LR2スキン」タブ選択状態で起動するように組んでますがバージョンによっては上手く動きません。(制作環境はExcel2010)
自動実行コマンド
- 開いているcsvのフルパス及び#INCLUDEで定義されている子csvのファイルパスに「LR2files\」が含まれている場合、
該当ファイルへのハイパーリンクを挿入します。(このため、変更の有無に関わらず閉じる際に保存確認ダイアログが出ます)
※ハイパーリンク有りの状態で上書き保存してもスキンの動作には支障ありません。
※子csvファイルパスにワイルドカードが含まれる場合はパス順で一番最後のファイル/フォルダが選出されます。
- lr2skinファイルを関連付けておくとExcelで開いた時に自動的にカンマ区切りでデータ分割処理を行います。
※上書き保存するとタブ区切りで保存されるので必ず「名前を付けて保存」からカンマ区切りテキストで保存して下さい。
各コマンドの解説について
動作範囲
本customUIでは各コマンドごとにその動作範囲が決まっており、制限がある場合はその範囲内のセルを選択しておかないと実行できません。
※「定義範囲内」とは空白で区切られた段落全体を指します。サンプル画像
※空白行が入っていれば同一定義でも別定義扱いとなり、空白行が無ければ別な定義であっても同一定義扱いになります。
複数セル
複数セル対応コマンドは選択範囲内かつ動作範囲内のすべてのセルに対してコマンドを実行します。
コマンドによっては複数定義に跨って一括処理が可能なので動作範囲をよく確認して下さい。
※基本的には縦方向の複数セルです。
項目名に
アイコンが付いているものは各ボックス右下のダイアログボックスランチャーボタンに割り当てられている機能です。
ちょっと分かりにくいので注意。
諸注意
- 本customUIを使用して発生したいかなる損害に対しても.REDは一切の責任を取りません。
- 本customUIを使用して製作したLR2スキンの正常動作は保証しかねます。デバッグは念入りにどうぞ。
- 不具合報告は歓迎ですが要望については技術的に対応できるか微妙なので予めご了承下さい。
Excel customUI for LR2 Skin csv rev64 (362KB)
ダウンロード
ボタンを押すと『ファイルを開く』ダイアログが出ます。
この時のカレントフォルダはcsvのパスから取得されます。
※新規ファイルの場合、カレントフォルダはデスクトップになります。
csvファイルを選択するとINCLUDE定義としてファイルパスが入力されます。
次のIMAGE定義でも同様ですが参照ファイルのパスに \LR2files\ が含まれる場合は、
自動的にLR2スキン標準の相対参照形式に置換します。(.\LR2files\〜となります)
ほぼ上記と同じですがIMAGE定義ボタンは参照ファイル入力後、更にgr番号がコメントとして自動的に追記されます。
※一つ前に記述されたIMAGE定義行で10列以内にgr番号が入力されている必要があります。(フォーマットは「//gr番号」)
SRC定義のgr番号にカーソルを合わせてボタンを押すとIMAGE定義から参照ファイル名を逆引きします。
※IF分岐や子csvで宣言されたIMAGE定義には対応していません。
SRC行x1、DST行x2、各コメント行x2の標準的なテンプレートを挿入します。
DST側のwとhにはSRC側のwhをdiv値で分割する数式があらかじめ入力されています。
スペースが余ったので作りました。カーソル位置の定義の下にその定義のコピーを挿入します。
通常のコピペと大差無いように感じるかもしれませんが、このボタンには連打可能という特徴があります。
セパレータを挿入します。よくある「/////////////」です。
大きさは3通り用意しましたので定義に合わせてご利用ください。
#IF〜#ENDIFを挿入します。
#IFと#ELSEIFのみ、定義挿入後に2列目が選択状態になります。
DST行のX座標値のみ任意のピクセル数だけ移動させます。
SRC行は処理対象外なので複数定義のDST座標のみ移動することが出来ます。
グラフやディスプレイジャッジを丸ごと移動させるといった改変作業に効果的です。
ボタンを押すと数値入力ボックスが出るので整数値を入力して下さい。(負の値でも可)
DST行のY座標値のみ任意のピクセル数だけ移動させます。
SRC行は処理対象外なので複数定義のDST座標のみ移動することが出来ます。
グラフやディスプレイジャッジを丸ごと移動させるといった改変作業に効果的です。
ボタンを押すと数値入力ボックスが出るので整数値を入力して下さい。(負の値でも可)
DST行のX座標値を反転させます。(横640px計算です)
1P側定義から2P定義を生成する時に非常に便利です。と言うよりそれ以外では使いません。
w値やNUMBER定義のketa値、TEXT定義のalign値なども考慮した複合反転式ですがw値が奇数だと稀に1pxズレるので注意。
動作範囲 |
複数セル
|
DST行4〜7列目
※2行選択必須
|
×
|
DST定義を拡縮させます。DST行のxywhを2行4列選択した場合でのみ動作します。

whそれぞれを1段目あるいは2段目の何倍にするか、というコマンドです。
固定座標指定はチェックを入れた面の座標を固定して拡縮を行う、という意味です。
複数箇所指定することができ、いずれも指定しなかった場合は中心座標固定で拡縮します。
※このコマンドのみ、キャンセルで元に戻すことができます。値を反映させたい場合には右上の閉じるボタンクリックで閉じて下さい。
dst option〜acc
動作範囲 |
複数セル
|
各値の列
1列目
#IF・#ELSEIF定義行(op値のみ)
|
○
|
セレクトボックスから任意の値を入力し、同時にコメントをクリップボードにコピーします。
timerのみSRCとDSTで動作範囲が異なりますが特に問題無いでしょう。
op値のみ、#IF・#ELSEIF定義行に入力できます。(左から順に詰めていきます)
また、1列目選択状態で値を選択した場合はコメントが入力されます。
※cycle値のみボックスに値を入力してからEnter押して下さい。
align値を変更します。NUMBER定義とTEXT定義で利用可能です。
NUMBER定義とTEXT定義では同じ値で揃え位置が異なるので地味に便利なボタンです。
muki値を変更します。SLIDER定義とBARGRAPH定義で利用可能です。
BARGRAPH定義ではDSTのxywh値も合わせて変更されます。
※BARGRAPHの場合はグラフ100%の状態を普通の画像定義と同様に座標を取り、最後に向きボタンを押して下さい。
選択定義のloop値をその定義内で一番大きいtime値に変更します。
選択定義のDST行のwhにSRC/分割数の数式を入力します。
割り算の確認用です。
選択範囲内のSRC行の値を調整します。
ボタンを押すと数値入力ボックスが出るので整数値を入力して下さい。(負の値でも可)
gr値の一括変更など他のスキンからごそっと移植してきた定義群をまとめて調整する時や、
SRC画像を改変した際の一括座標移動などに便利です。
動作範囲 |
複数セル
|
SRC行11列目
DST行19〜21列目
|
○
|
SRC/DST timerとdst op用です。選択範囲の値を連番化します。
選択範囲の真上(空白セルを除く)にある値を先頭にした連番になるのでやや注意。
op1〜3に入力されている値に「−」や「!」を付加します。
既に「−」や「!」が付いている値ではこれらを外すことも出来ます。
div_xとdiv_yに値を入力します。
選択定義のtimerやop、xy移動量などを表示します。
900番台のオプションは同一csv内に「//op9xx 〜」のフォーマットでコメントが存在する場合にのみ表示されます。
また、この時のxy移動量はDST1行目と最終行を比較した絶対移動ピクセル数になります。
上記解析結果からコメント行を生成し、クリップボードにコピーします。

チェックを入れた項目だけでコメント化します。(//〜の書式、各項目は半角スペース区切り)

ボタンを押すと各種定義タブに分かれたリストが生成されます。
各種ファイルパスは「LR2files\Theme\」までが省略(〜表記)されます。
また、リスト下部のテキストボックスから各項目を直接編集できます。
利用頻度が最も高い(と思われる)ため、定義リスト呼び出し時に幾つかの初期処理を同時に行います。
※#INCLUDE定義のハイパーリンク化はExcel起動時にしか実行されないため、
複数csvを開いた場合には2個目以降のファイルに対しては実行されません。
■コメントタブ
csv内の全コメント行のうち、以下の条件に該当しないものを一覧化して表示します。
- opから始まるコメント
- timerから始まるコメント
- 「定義」を含むコメント
- 4文字以下のコメント
リスト内の項目をダブルクリックすることでcsv内の該当箇所にジャンプします。
■IMAGEタブ
#IMAGEで定義されたファイル名とそのgr番号を一覧化します。(gr番号はコメント入力されている場合のみ)
以下の条件を満たした場合のみ、リスト内の項目をダブルクリックすることで画像編集ソフトで画像ファイルを開きます。
- 開いているcsvファイルのフルパスに「LR2files\」が含まれている
- #IMAGEに記述したファイルパスにも「LR2files\」が含まれている
- 拡張子がpng形式
- 所定のフォルダに画像編集ソフトショートカットを置いている
画像編集ソフトショートカット
C:\tool\CustomUI に「main」と「sub」という名前で画像編集ソフトのショートカットを配置して下さい。
mainは常用しているソフト、subは他に利用したいソフト(無ければmainと同じで)
定義リスト内IMAGEタブ下部のラジオボタンでmainとsubの切り替えを行えます。
※画像ファイルパスにワイルドカードが含まれている場合はパス順で一番最後のファイル/フォルダが選出されます。
■子csvタブ
#INCLUDEで定義された子csvファイルパスを一覧化します。
リスト内の項目をダブルクリックすることでcsv内の該当箇所2列目にジャンプします。
■LR2FONTタブ
#LR2FONTで定義されたファイル名とそのフォント番号とサイズを一覧化します。
(サイズはフォント番号の右のセルに「size○○」フォーマットで入力されている場合のみ)
リスト内の項目をダブルクリックすることでcsv内の該当箇所2列目にジャンプします。
■IF分岐タブ
#IFと#ELSEIF行とそのオプション値を一覧化します。(オプション値は最大5個まで)
リスト内の項目をダブルクリックすることでcsv内の該当箇所にジャンプします。
■拡張定義タブ
うちのスキン仕様書で拡張定義のカスタマイズ関連と時間制御関連とその他に分類されている定義を一覧化します。
カスタマイズオプションを検出した場合はスキンオプション総数もカウントします。
リスト内の項目をダブルクリックすることでcsv内の該当箇所にジャンプします。
#IFが宣言されてから#ENDIFよりも先に次の#IFが宣言されている箇所が無いかチェックします。
検出した場合は該当箇所(#ENDIFより先に宣言されている#IF定義)にジャンプします。
標準の画面分割ボタンと違い、縦方向にのみ分割します。
カーソル位置に関わらず画面に表示されている範囲の真ん中で分割されます。
もう一度押すと分割を解除します。
動作範囲 |
複数セル
|
DST行10〜12列目
※3列選択必須
|
○
|
DST行のRGB値をExcel標準の『セルの塗りつぶし』コマンドで選択した色から取得します。
それっぽく言えば直感的に色指定出来るとかそんな感じですがぶっちゃけ作ってみたかっただけです。
※RGB値を取得した後に『塗りつぶしなし』に戻してからコマンド終了となります。
スキン仕様書を『新しいWebクエリの取り込み』ウィンドウで開きます。
Office 2007/2010・リボンのカスタマイズ 初心者備忘録
陶山栄一のホームページ
Ribbons for Access 2007 / Access 2010
[MS-CUSTOMUI]: Custom UI
Excel VBA 入門講座
Office TANAKA - Excel Tips
エクセルVBAマクロ - ExcelVBA.net
☆ Excelでお仕事!(Excel全般の解説サイト) ☆
ExcelやAccessの学習ならOfficePro