8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

下請けCOBOLERとして生きていた頃のノウハウAdvent Calendar 2016

Day 23

暇なCOBOLerは少しでも一般的なプログラミング言語に慣れるためにVBAを書こう!

Last updated at Posted at 2016-12-22

世の中には暇なCOBOLerも存在するわけで、会社からはそこにいるだけでお金が入るからと、特に忙しくもなんともない現場に派遣され人生を飼い殺しにされることもあるでしょう。

派遣先としては予算を使い切らなければならないという事情があり、特に仕事がなくても人を買っておく必要があります。

しかし、派遣先部署の予算が減らされたりすると良いコミュニケーション関係を作れていなかったり、派遣先で所属したチームの派閥があまり強くなかったりである日突然「もうこなくていいよ」1と肩たたきされることも珍しくありません。

仕事が無いので、その場にいるだけでバリバリ働いている人間と大きく差をつけられた状態になってしまったりするわけですが2、そうなると、ある日突然肩たたきされたときに買い手が減ってしまい大変困った状況に陥ってしまいます。

そんな危険なシチュエーションを打破することが出来る(可能性を秘めた)VBAのお話です。


客先に常駐していると徹底したセキュリティ管理の名のもとに、インターネットもままならず、ソフトウェアのインストールには何重もの許可を得た上でやっとインストールが出来ますので、派遣されているエンジニアにはまずまっとうなプログラミング環境が無いのです。
(かろうじて、さくらエディタぐらいは使えるかもしれません。)

そんな厳しい環境の中でもグローバルスタンダードで大変に素晴らしいソフトウェア「Excel」というものがあるのですが、これはどんな端末にも標準でインストールされているのです。

Excelバンザイ!

Excelの何が素晴らしいかというと、標準で「VisualBasicForApplications」(略してVBA)というプログラミング言語とその開発環境が搭載されていることです。3

単にプログラミング言語だけならば、インターネットに接続出来ないInternetExplorerでjavascriptを書くというのも有りなのですが、何分まともなエディタが存在しない環境ですのでオススメは出来ません。

VBAには丁寧に書かれたマニュアルも付属しているため、インターネットが無くても調べ物が出来るところも素敵です。

COBOL(というかそれが動く汎用機)なんて、マニュアルを貸出希望して厳重な手続きを踏んでようやく借りることが出来たマニュアルに知りたいことが何も書いてないとかザラですからね。

COBOLでのプログラミングは、それはもう最近のプログラミング言語からはかけ離れたもので、いくら勉強しても何の役にも立ちません。4

VBAならば、それなりに最近のプログラミング言語の体を成しているので、(DATA DIVISIONとか無いし、コードをコピペしたら行番号が全部崩れて発狂するようなことも無いよ、一行に80文字しか入らないなんて事もない!)脱COBOLERを目指すための一助になりやすい(かもしれない)です。

また、COBOLerならプログラムの出力結果を目視確認するという発狂しそうな手法でテストを行うわけですが、Excelでプログラムの出力結果のドキュメントを書いて(前例として、そういう慣習がないといけないのですが)、VBAにデータを渡して結果をチェックするようなテストツールも作れるわけです。

現場の人間がこういったツールを承認してくれそうな雰囲気なら、手がちょっと空いたので(明らかに暇なんですけど;)テストツール作りましたといって、殺伐として現場を和やかにできるかもしれませんし、そんな雰囲気がなくても自分でこっそり作って使って目視確認は大分適当にやってしまうなんていうことも出来るのです。

目視確認より、プログラムによるチェックのほうが間違いが起こらないのは言うまでもありませんよね?ね??

VSAMデータセットからダンプされた文字列を眺めるだけの苦痛で発狂しそうな作業を、どれだけVBAに助けられたか分かりません。

VBAスキルが向上してくると、フローチャートもVBAで作っちゃうみたいなことも出来るようになるので(もちろんフローチャートをExcelで作る文化がある前提ですが)自動化楽しい!などとプログラミングの楽しみに触れつつ、こっそりスキルアップも出来てしまうのです。

素敵ですよね、もう一度言います。

Excelバンザイ!

そもそもCOBOLerがQiitaなんて読んでいるんだろうか?という疑問もありますが、VBAはあなたの成長に少なからず貢献できる素敵なツールです。

もし、転職を考えだした時に__なにもすることが無い中で、現状を改善していこうともがいていた姿勢__というのは大変に好印象となるものです。

VBA、是非使いこなしてやりましょう。


  1. 実際には、こういった話は営業などを通して行われます

  2. こうなってしまうと業務知識すら身につきません、まさに人生の浪費です

  3. ExcelだけでなくAccessやWordでもVBAが使えたはずですが、私は使ったことがないのでExcelだけにとどめておきます

  4. 流石に何の役にも立たないは言い過ぎですけど、学習するコストに見合うものは無いですよ、ほんとに

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?