-
Q VBA講習の対象者はどのような人を想定していますか?
A 受講者としては、普段から仕事や勉強においてExcelを含めたMS-Officeを利用されている方を想定しています。したがって、パソコンの操作が不慣れな方には難しい内容となります。
また、講習内容によっては、高校数学Ⅰ程度の知識(三角関数)を必要とするものもありますのでご理解下さい。 -
Q VBAを推す理由は?
A 私がVBAを推す理由はおおむね次のとおりです。
- VBAは、Excelのほか、Word、PowerPoint、Outlookに実装されており、ほとんどの業務(家庭)用PCには、MS-Officeがインストールされていることから、いつでも、どこでも(職場と家庭、仕事と趣味)利用可能である。
- Visual Basic、Visual C#、Python等のプログラム言語を利用する場合、使用するPCにおいて開発環境の設定が必要となるが、一般企業の場合、社内の情報管理部門の許可を必要とする場合も多く、セキュリティの関係上、業務内容に照らして例外的な措置は認められにくい。しかし、VBAの場合は、Excelの機能として実装されており、そうした手続きは通常必要としない。
- VBAの仕様はVB6程度とされており、古い仕様(例えば、Integerは16ビット長)ではあるが、通常の事務処理レベルであれば十分な機能を有している。そもそもプログラミングの勉強には「最適」であるが、古い仕様であるが故に、学習するべきプログラム言語としては敬遠される傾向にある。そのことは、プログラミング・スキルの習得において、他人に一歩先んじるチャンスとなり得る。
補足
- 整数型はInteger(16bit)を使用せず、Long(32bit)を使用すれば良い。
- 構造体の配列変数が利用できるので、複雑な変数(職員の属性と経歴、資格等)を簡単に取り扱うことができる。
- Excel VBAで他のOfficeファイル(アプリケーション)を操作することができる。
- VBAに慣れれば、Visual Basicへのプログラムの移植も簡単。更にそもそもプログラミングに慣れることで、他の言語(Java等)の理解も容易となる。
(Android Studioによるスマホアプリ(Java)の開発にも抵抗感は少なくなると思います。) - VBAは個人で作成するプログラムが中心となるため、業務引継ぎが難しいという意見も(多数)ありますが、VBAで作成したプログラムは自分の手元業務を効率化するための「道具」であり、自分自身が自分のために作成した「道具」を他人が使えないからといって問題視するのは如何なものかと考えます。自分自身のための道具は自分自身で作成(又は前任者のものをカスタマイズ)するべきであるし、組織共通なものは、組織が整備するべきであると考えます。
なお、企業において、個々人の「手元業務」の効率化を目的として、RPAの導入が一時話題となりましたが、結局、MS-Officeを利用して事務処理を行っている場合は、VBAを活用した方がB/Cが高く、永続性も確保できると考えます。
「情報」の加工・編集は紙媒体であるとハサミとのりで自由自在に行えますが、デジタルデータの場合、特定のアプリでできる範囲に限られています。プログラミングを学ぶことは、その限界を取り払うことであり、デジタルデータ用のハサミとのりを手にするようなものです。
-
Q バイナリファイルに関する講習もありますが、役に立つのですか?
A Webシステムやデータベースシステムは、テキストベースのデータを処理しますが、 バイナリベースでの処理を理解することで、画像や音声、動画等のファイルフォーマット、 FATやNTFSといったファイルシステムの仕組み、Shift-JISやUTF-8といった文字コードの 違い等を容易に理解することができます。
それにより、プログラミングの対象とする事象の範囲が劇的に広がります。