仕事で、Excelでもらったデータを専用ソフトに取り込めば、業務がかなり捗る案件があって、今年の秋はExcelのマクロ(VBA)をいろいろ作った。それらのマクロはちゃんと動き、お陰で今年は去年に比べて大分残業時間を減らせた。(もっとも、残業代も減っているので、自らの首を絞める結果ともなったが(笑)) で、なんとか繁忙期はやり過ごしたのだが、どうせなら色々とVBAを使って、自動化出来るものは全部自動化しとこうと色々弄っている。その中の一貫で、とあるExcelファイルを印刷するときは、こっちのプリンターに固定したいというものがあって、そのファイルを開いた時だけデフォルトのプリンターが変わる、というマクロはすぐに組めたのだが、印字位置などの詳細を決められるプロパティまでは、VBAではいじれない。結局API経由でWindowsの機能にアクセスしなければならないのが分かったのだが、この印刷というのがなかなか複雑で・・・。しょうがないからもうC言語から勉強しようと(笑) 我ながら、どうしてそこまでさかのぼって勉強する必要があるのか?と思うのだが、やっぱり避けては通れない道の様な気もしたし、前から興味もあったし。
で、一からC言語の勉強を始めているのだが、びっくりしたのが、MicrosoftのVisual Studioを個人であれば無料で使えること。多分何年も前からそうだったんだろうけど、どうしても昔の馬鹿高いVisual Basicを買わなければ開発は出来ないという先入観があったもんで・・・。
ま、そんなことで早速私が作ったWindowsアプリ第一号をここに載せておきたい。・・・といっても、ソースはウェブにあったのをまるパクリで、なんとかかんとかVisual Studioでビルドしただけ、という代物だが。zipファイルを解凍すればexeファイルが出て来て、いかにもウイルスみたいが、Windowsを使っている人で、私の個人的な知り合いの人は、ちょっと試してみてほしい。(もちろん、通りすがりの人でも開いてもらって全然構わないのだが、やはり見ず知らずの人のサイトのzipファイルをすぐ開いてしまう、というのはいささか不用心な気がする(笑))
まあ、やってみたら、え?これだけ?ってもんなんだけど、どんな複雑なプログラムもこういうところから始まってるんだよね。(ちなみにVBAでは、GUIを使ったもう少しマシなものを作ってはいる。) 将来的には流石にゲームは作れないだろうが、ドラッグ・アンド・ドロップしたら、自動的になんらかの処理をしてくれるアプリとかそういうのを作りたいと思っている。C言語の基礎やって、なんらかのオブジェクト指向の言語もやって・・・道のりは果てしなく遠く、まるでピアノを触ったことのない人がショパンを弾ける様になるまで頑張る、ぐらいの道のりだが、興味がつづくかぎり、ボチボチと。仕事にも上手に絡めながらやっていきたいと思う。