みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
さて、前回こちらの記事で「詳解! GoogleAppsScript完全入門 ~GoogleApps & G Suiteの最新プログラミングガイド~」を書き上げるのに、どれくらい時間がかかったのかについてお伝えしました。
今回は2作目ということで、私もちょっと学習をしました。
執筆の効率を上げるために、WordマクロとPythonでいくつかのツールを仕込んでいたのですよ。
準備って大事です。
ということで、今回はその第一弾として、GAS本の執筆のために、どんなWordマクロのツールを仕込んだのかを紹介したいと思います。
木を切るなら、まずは斧を研ごう
前作「ExcelVBAを実務で使い倒す技術」は、デビュー作ということもあり、どうしても行き当たりばったりになってしまいました。
挙句には、本業+ブログ+書籍執筆のハードなスケジュールがたたって、身体にいろんな影響が出てしまいました。
まあ、なんかそんな粗削り感も本の内容とマッチして魅力的な一作になったような気もしますが、そんなに何度も身体を壊すわけにはいかないので、次の話があるときには何か対策を…と考えていました。
リンカーンの言葉を借りるなら
木を切るのに6時間使えるなら、そのうち最初の4時間は斧を研ぐために使う
ですよ。
準備が大事なのです。
Word VBAを駆使してGAS本を書くこと
まず、第一に考えていたのはWord VBAです。
調べたり、整理したりという時間も当然あるのですが、書籍執筆で多くの時間をかけているのは「Wordで入力をしている時間」なのは明らかです。
近視眼的なメリデメを考えると、正直Word VBAはExcel VBAと比べて圧倒的に人気がありませんので、頑張りどころではありません。
ただ、GAS本464ページをWordで書くという事実がまずあります(結果的に400時間かけていますし)。
中長期的には、いくつかの狙いがありました。
Word VBAをやるべきだった理由
まずは、GAS本のDocumentサービスを説明する上で、Wordマクロの理解が役に立つだろうとう点です。
Googleドキュメントの文書構造ははWordのそれと非常に似ていますので、非常に参考になりました。ポイントは「段落」です。
これを味方につけられると、「文書」の扱いが一気に楽になります。
二つ目は、Excel VBAユーザーが次に覚えるスキルとして即戦力になりえるという点です。
正直なところ、Excel VBAである程度できるようになったら、Excel VBAのマニアックなところを掘っていくよりも、さっさとWordマクロなどの他アプリケーションの操作方法を覚えたほうが有効な場合が多いと考えています。
当然、Word文書の構造をちゃんと理解する必要はありますが、VBAとしての文法やオブジェクトの考え方は一緒ですから、それほど苦はなく覚えられます。
最後は「書くスキル」が今後重要になっていくだろうということです。
書くために使うアプリケーションの選択肢はたくさんありますが、一般ビジネスでいうとGoogleドキュメント、Wordこのあたりのプログラミングを「武器」として加えておいて損はないと思います。
GAS本を書くために準備したWord VBAのツール
GAS本を執筆するためにWord VBAで作成したツールを紹介していきます。
装飾指示の挿入ツール
書籍を構成する要素は、単純な文章だけではありません
図表、ソースコード、囲みなどいろいろな要素があって、囲みでもPointなのか、Memoなのか、実行結果なのかといったところで、適用するデザインが変わってきます。
文章とともに、どこからどこまでがその装飾の適用をしてほしいのかという指示を入れていかないといけないのですが、その装飾指示を挿入するツールを作成しました。
適用範囲を選択した状態で、Alt + I でフォームを呼び出し、適用したい装飾の種類を選択するというものです。
自分でいうのもなんですが、便利です。
作り方は以下の記事などを参考ください。
カーソル移動のショートカット
ずっと書き足していくだけなので、過去書いた部分に移動するなんてないとお思いかもしれませんが、全然そんなことはありません。
人っていうのは忘れやすい生き物で、昨日書いたことすらすっかり忘れちゃいます。ましては、一週間前のことなんて…
ということで、書籍執筆をする上で、文書の前後への「移動」というのは、かなりの頻度で行われるのです。
それで、Wordはナビゲーション機能が優秀なのですが、やっぱりマウスだけでなく、キーボードだけでビュンビュン移動したくなります。
執筆する内容によって、どのような単位で移動するのが多いのかというのはあると思うのですが、最も利用したのは、以下の記事で紹介している見出し単位での移動です。
Alt + [ と Alt + ] で前後の見出しに移動できるように設定をして活用をしていました。
ページ数・文字数のカウント
書籍を作る際に、だいたいのページ数などを想定してから着手します。
大型版なのか、A5判なのかも想定しますから、1ページあたりの文字数もだいたい決めておきます。
Wordはページ設定をすることで、1ページあたりの行数と、1行あたりの文字数を決めることができます。
ですから、今書いているあたりであれば、だいたい何ページであるかというのは、ある程度はわかりますし、それであれば「今、だいたい何ページであるべきか」と比較することができます。
以下の記事は、エクセルVBAでWord文書を操作するというものですが、書き出しはExcleシートですが、内容はほぼWord VBAといっていいものです。
例えば、この内容をWordの文書が閉じたときに自動で書き出す、というようなマクロを仕込んでおけば、常に自動で記録できるようになります。
まとめ
以上、GAS本を執筆するために仕込んだWordマクロの数々についてお伝えしました。
GAS本なのに、Wordマクロってちょっと面白いですよね。
どちらか一方に絞ったほうが学習効率は良いかも知れませんが、両方できたほうが実務の効率を上げるという意味では選択肢が増えますよ。
次回は、GAS本を作成するのに用意したPythonのツールについて紹介をしたいと思います。
どうぞお楽しみに!