STAFF INTERVIEW

TECH Report│マンガの新刊情報も取得可能。便利なVBAの世界をご紹介します。

今月の勉強会のテーマは「VBAの活用法」。登壇してくれたのはリーダーを務める中村さん。業務効率化のためにVBAを使っており、プライベートでもマンガの管理や新刊を調べるために活用しているそうです。

7月度・IT勉強会レポート  テーマ:VBAの活用法

EPISODE.01

業務の効率化に貢献。便利なVBAの世界。

7月の勉強会はIT事業部でリーダーを務める中村さんが登壇。ITの開発プロジェクトでも利用されることの多い『VBA』という言語について解説してくれました。VBAは簡単に言うと、ExcelやPowerPointといったMicrosoft Officeのアプリケーションの機能を、拡張することができるプログラミング言語。Excelで使われるケースがほとんどですが、実はWordやPowerPointなどでも動作させることができます。

そのVBAですが、主な役割は『処理の自動化による業務の効率化』。VBAを用いてプログラムを作成することにより、繰り返し作業や定型作業などを自動化し、大幅に業務効率を上げることができます。実際に中村さんもプロジェクトで活用しているようで、ITの現場では非常によく使われているそう。こうしたVBAの用途や背景などを話しながら、実際にどのようにプログラムを組んでいくのかをデモンストレーション形式で解説してくれました。

まず解説してくれたのが『マクロ』という機能。マクロとは、アプリ内であらかじめ操作手順を記憶させておくことで、任意のタイミングで一連の操作を実行できる機能のことです。プログラミング言語を用いて操作内容を記述しており、ボタン一つでいつでも記述した動作を実行できるため、Excelでよく利用されています。中村さんはこの中でも『マクロの記録』という、プログラミングなしでマクロを使える機能を紹介してくれました。

EPISODE.02

マクロの仕組みや制作ツールを紹介。

『マクロの記録』は、シート上で行った動作を自動的に記録し再現してくれる機能。記録した動作は自動的にコードとして生成されます。中村さんは実際に生成されたコードを見せながら仕組みを解説してくれたほか、この機能の注意点についても説明してくれました。

一見するとプログラムを組む際の参考になりそうな機能ですが、「(プログラム側が)動作を完璧に再現するために、本来なら不要なコードも生成してしまう」とのこと。『マクロの記録』で生成したコードをそのまま実装しようとすると余計なコードが混じる可能性があるため、完全に信頼するのはやめた方が良いという話でした。

そして次に紹介してくれたのが、中村さんがVBAを使ってプライベートで制作した『マンガの管理ツール』。所有するマンガのデータが全て格納されており、所有作品の「検索機能」をはじめ、ボタンひとつで「連載終了作品」「連載中作品」などを抽出してくれる機能がついています。

さらにボタンひとつで「新刊情報の取得」や「発売予定検索」までできる優れもの。実際に動かしながら動作を解説してくれており、VBAの技術を極めていけば、ここまでやれるというところを見せてくれました。

EPISODE.03

Javaの知識も応用できる。色んなプロジェクトで使われています。

最後に、勉強会恒例の質問タイムに突入。今回はサブリーダーの内田さん、リーダーの成田さんが質問してくれました。

内田 マンガの管理ツールですが、大体どれくらいで作れるものなのでしょうか?

中村 大体1ヶ月くらいで作りました。前のプロジェクトは比較的余裕があったので、そのタイミングで作成しました。

内田 デモンストレーションでコードを見た時、Javaに似ているなと感じました。Javaの知識がある人なら、VBA特有のコマンドさえ調べてしまえば応用が利くものなのでしょうか?

中村 その通りだと思います。メソッドとかはVBAにはないけど、「Javaのこの部分がVBAだとこれになるんだ」みたいな部分は多いです。どの言語にも共通することかもしれませんが、Javaが出来ると比較的組みやすいと思います。

内田 ありがとうございました。

成田 私からも質問なのですが、先程のマンガのツールはWeb上とかで公開されているのでしょうか?新刊情報を拾ってくる機能があったり、コードが綺麗だったりしたので、一般公開しているものなのか気になります。

中村 ありがとうございます。完全にプライベート用で公開はしていません。キレイにしているのは自分が分かりやすくするためですね(笑)

内田 わかります。自分がわかりやすくするの大事ですよね(笑)

中村 ね(笑)

成田 ありがとうございます。参考になりました。

以上で質問タイムは終了。実は今回質問してくれた内田さんも最初のプロジェクトではVBAを使っており、成田さんも今のプロジェクトで使っているとのこと。かなり多くのプロジェクトで汎用的に使われている言語ということでした。次回の勉強会は8月に開催予定です。引き続きレポートしていければと思います。