最近マクロを作ったりすることがとても多くなってきて
ようやっと社内SEっぽくなってきたような心持ちがしてきております。
いや、あくまで、
「ぼくのかんがえたしゃないえすいー」でしかないのだけど。
オフコン系とexcelで動いてるような業務なもんで、
基本的にはcsv吐き出させてマクロ作ってマニュアル作って配布して
またマクロ作ってマニュアル作って…の繰り返し。
下積み中です。いつかフリーになりたい。
それはさておき、マクロを作るのはいいんだけど、
使ってもらえなければただの自己満足でしかないわけで。
どうやったら使ってもらえるかを考えなければならない。
(自分が楽するためのツールを作るならいいんだけどね…。)
で、マクロだとどうしても色々制約があるわけで。
拡張子とかセキュリティとかセキュリティとか。
で、アドインなら初回導入さえやって
マニュアル配布すればきっと使ってくれるだろうと思い立ち、
早速作って配布したので、導入までのメモを残しておこう。
(長すぎる前置き)
とりあえずアドインで動作させたいマクロ入りbookを作成する。

マクロの中身とかについてはまぁ、いいでしょ。
ちなみに今回はハンディスキャナーで
読み取ったデータをcsvで取り込むときに、
エラーが出て区切りがうまくいかなかった時に、
きちんと区切ってくれるようなそんなちっちゃいおっさんを作った。
色々方法はあるらしいんだけど、簡単なものってことで、
Custom UI Editor Toolを開いて
※ダウンロードはリンクからどうぞ。
さっき作ったマクロ入りBookを開いて、
「Insert」→「office 2010 Custom UI Part(もしくは2007)」選択。
そんで作られたcustomUI.xmlを選択して、
「Insert」→「Custom Tab」を選択。

そしたらばタブ追加用のxmlをパパパッと書いてくれるので、
とりあえず「onAction」で自分の作った
モジュールとマクロを指定してあげる。

こ↑こ↓(赤枠)。「Module.macro」みたいな感じね。
あ、ちなみにプロシージャの引数をしっかり指定してあげないと、
アドイン作ったあとにエラーが出て泣く羽目になるので注意。(一敗)

こうではなく

こう。
さてxmlの中身に戻ろう。
使ってもらう分にはデフォでもいいのかもだけど、
ちょっとした遊び心も(折角なので)入れたい。
あとは働きに合わせてわかりやすさも大事だし。
「imageMso」にて、ボタンの見た目が指定されているので、
変更したいときはこのギャラリーから探してコピペで。
ところで、Custom UI Editor Toolには一つ問題がありまして。

↓

と、日本語(2バイト文字)が入れられないんですよ。
こればっかりは仕様なので仕方ない。
というわけで、Custom UI Editor Toolを保存して閉じたらですね、
対象のbookの拡張子を「zip」に変えて

解凍してあげる(解凍ツールはなんでも可)。

excelbookの中身は実はzip形式ファイルだったんだよ‼
ΩΩ Ω<な、なん
そんでもって、「customUI」フォルダの中のさっき作ったxmlファイルを

適当なテキストエディタで開く。

そんでもって、「tab IDやlabel」とか「button idやlabel」とかを
好きなようにニッポンゴに変えてたもれ。

こんな感じに。
そしたらば、文字コードを「UTF-8」、改行コードを「CR+LF」で保存。
※サクラエディタだと名前を付けて保存の時に選択できるけど、
まぁ、お好きな方法or選択できる方法で。

ちなみにtool使わずに最初っからこの方法でももちろん良いです。
決まったコードがある(もしくはxmlなら任せな‼)って感じなら
それが一番早いのかもしれぬ。
好きなだけxmlを弄ったら一階層戻って
改めてまとめて圧縮する。
(これも多分なんでもよいはず。試してないけど)

ちなみにこれらが入っているフォルダを圧縮してはいけない。(戒め)
必ず直で圧縮しないと、ファイルがこわれちゃ↑ーう。(一敗)
そんで作られたzipファイルの拡張子を

もとに戻してあげる、と。

で、問題なく開けたら、今度は
アドインとして保存する。

↓

こんな感じ。
ちなみにアドインとして保存しようとすると、
デフォでアドインの場所に保存しようとしてくれます。
配布するのでもなければそのまま保存でよいかと。
(C:\ユーザー\あなたのゆーざー名\AppData\Roaming\Microsoft\AddIns 的な場所。)
保存できたら、早速追加するぞ追加するぞ追加するぞ。
「開発」タブの「アドイン」か

メニューの「オプション」の

「アドイン」の「管理」で「Excelアドイン」で「設定」から

アドイン追加メニューを呼び出して自分の作ったアドインを追加してあげる、と。

自分の環境では開発タブからでいいけど、
配布するときはオプションからがよいかもね。
開発するような人じゃないと開発タブなんて出しててもしょうがないし。
ちなみにアドインメニューから「参照」でアドインを探すと、
Excelのほうで勝手にコピーするけどいいよね?かしこまり‼
ってしてくれるので、共有にでも置いとくとナイスでーす。
無事タブが追加されて、ボタンを押して
想定通りのマクロが走ってくれたら
終わりっ!閉廷!…以上!皆解散!

これになにの意味があるのか…とか思ってはいけない。