Excel VBA †
Officeは仕事における重要なツールの1つである。
表計算ソフトExcelはよく使われるツールであり、VBAを使いこなすことで様々な作業を自動化することができる。
マクロでコードを自動生成することもできるが、VBAプログラミングの知識があれば、より細かい所まで手が届くようになる。
以下では、Excel VBAでちょっとしたプログラムを書けるようになるための内容を整理する。
アドインの作り方 †
リボン付きのアドインの作り方は以下のとおり。
- vbaプロジェクト生成し、xlsm形式で保存
- 「名前を付けて保存」で、ファイルの種類をxlam(Excelアドイン形式)で保存
xlamはzip形式であり、zip形式のアーカイブを解凍すれば中身を展開できる
_rels\.rels
ファイルにリボン定義のリレーションを追加する<Relationship Id="someID" Type="http://schemas.microsoft.com/office/2006/relationships/ui/extensibility" Target="customUI/customUI.xml" />
なお、Custom UI Editorというツールが提供されているのでそちらを使うとよい。
エクセルファイルやアドイン形式のファイルを開いてリボンの編集ができる。
URL https://github.com/OfficeDev/office-custom-ui-editor
また、サンプルも提供されているので参考にするとよい。
参考 https://github.com/OfficeDev/office-custom-ui-editor/tree/master/SamplescustomUI/customUI.xml
というxml定義ファイルを作成できたら、展開したリソース一式を再度zip形式に圧縮する。拡張子はxlamとすればよい。(customUIという名前は、上記のRelationship定義で参照名を変えられる:Target)- Excelのマクロ形式ブックを開いて、「開発>Excelアドイン」の参照から作成したアドオンを選択すると作成した作成したVBAプロジェクトが使用できるようになる。
参考
- Office Fluent リボンの概要- on https://docs.microsoft.com/ja-jp/office/vba/library-reference/concepts/overview-of-the-office-fluent-ribbon
- Custom UI idMso
参考リンク †
- [MS-VBAL]: VBA Language Specification - on https://msdn.microsoft.com/en-us/library/dd361851.aspx
- Office VBA リファレンス - on https://docs.microsoft.com/ja-jp/office/vba/api/overview/
- Visual Basic for Applications (VBA) の言語リファレンス - on https://docs.microsoft.com/ja-jp/office/vba/api/overview/language-reference
- パーフェクト Excel VBA - on https://www.amazon.co.jp/exec/obidos/ASIN/4297108755/haikikyou-22/ PR
- おすすめ、VBAを基礎から学べる、多くの本はHow Toが多いがこの本はVBAの根本から学べるので応用が効く