vi で書こう VBA¶
LastUpdate: 2013-01-03
UNIXユーザにも優しいVBA利用法¶
特にUNIX系OSに慣れ親しんできた人々の間で、VBAへの拒絶感が強いと思います。 (自分も 2012年2月まではそうでした。:-)
Windows系プロダクト / Microsoft に対する感情は人それぞれとして;-)、下記の理由でVBAのコードを管理したくないなーと思っている人は多いのではないでしょうか。
- ソースコードのバージョン管理が難しい (バイナリファイルの内部にある)
- 共有ライブラリ化が難しい (個々のファイルにモジュールが組み込まれる)
- エディタが選べない (VBAはVBEで書くことが前提)
本ページでは、
- vi でコーディング (Emacs でもいいです)
- Mercurial でバージョン管理 (Git でもいいです)
- テスト駆動でコーディング (これはまだ模索中)
というテーマで、VBAを扱っていきます。
Note
VBAは、UNIX系OSでは、唯一 MacOS X で実行可能です。(一部制約あり)
BSD/Linux系では、Win32:API を使うことになると思いますが、ここでは現時点ではスコープ外です。
実際VBAをさわってみると、システム運用現場の改善に大きく貢献しそうなポイントも見えてきたので、システム運用業務にVBAをどう活かすかについても簡単にまとめていきたいと思います。
想定対象者¶
- プログラミングの基礎知識は持っている。
- 業務でWindows/Office利用の比率が高い。
- 提出書類の多くが、PowerPoint/Excel だ。
- ソースコードをバージョン管理したい! (Mercurial or Git)
- vi で VBA のコード書きたい! (Emacs でもいいよ!)
Out of Scope¶
- 業務におけるマクロ利用が禁止されている人。(ごめんなさい)
- PowerPoint/Excelでのレポートを作らない人。(Shell Scriptがいいと思われ)
- 自分達でサーバ/クラウドリソースの確保および利用が自由にできる現場。(RailsなどのWeb>アプリケーションフレームワークで実現した方が幸せかと:-)
- .NET や VB や PowerShell でWindowsの処理を何でも書ける&引き継げる相手が周囲にいる人。(VBAよりたぶん楽です)