VBA

VBA・Office

【Excel VBA 】簡単なアダプター(adapter(委譲))もどき

VBAで委譲(コンポジション)を利用したシンプルなデザインパターンのAdapter(アダプター)パターンのサンプルです。CMyData.cls(データクラス)Public Name As StringPublic Sub DebugPrin...
VBA・Office

【Excel VBA 】簡単なイテレータ(iterator)もどき

VBAでデザインパターンの「イテレータ(Iterator)パターン」をガチガチに実装しようとすると手間がかかりますが、VBA.Collection オブジェクトを活用することで、シンプルな記述で For Each による反復走査を行える仕組...
VBA・Office

【Excel VBA】セル単位の目次作成用の情報収集マクロ

台帳の目次シート(セル項目とその通しページ数をまとめたもの)をメンテナンス用に作成したExcel VBAマクロです。改ページを含んだシートで、各シート内のB列・C列に必要な項目(大項目、中項目)が点在している場合でも、自動的に通しページを取...
VBA・Office

【VBA】Errオブジェクトを利用した実行時エラー時の簡単なコールスタック

VBAには他言語のような Try...Catch...Finally 構文や標準のコールスタック取得機能が用意されていないため、エラー発生時にどの経路で呼び出されたかを把握するには少し工夫が必要です。独自のエラー処理用クラスを組むほどではな...
VBA・Office

【VBA】BinaryCopy バイナリファイルのコピー処理

VBAでバイナリファイルを読み書き・コピーするサンプルコードです。単にファイルをコピーしたい場合はVBA標準の FileCopy ステートメントを使用するのが最も簡単で高速ですが、バイナリデータとして中身を処理しながらコピーしたい場合は O...
VBA・Office

【VBA】Atermシリーズの簡単ログ取得マクロ

我が家の無線LANルーター(Aterm WR8300N)が頻繁にリンクダウンを起こすようになり、状況を把握するために作成したVBAマクロです。結論から言うと、ログの内容から明確な原因を特定することは困難でしたが、VBAでHTTPデータを扱う...
VBA・Office

【Excel VBA】定例作業スケジュール作成ツール改良

ふだん仕事の中で、作業日程をもう少し細かく設定したくなったので、以前作成したツールを再改造。■改造点・休日の色を、外部から自由に変えられるようにした。・週/月/年を選んでカレンダーがつくれるようにした。なお、エラーハンドリングは実装なし。イ...
VBA・Office

【Excel VBA】定例作業スケジュール作成ツール(祝祭日、定型作業設定可)の作成

定例作業(ルーチンワーク)が多く、スケジュール管理がなかなかできないので、VBAで月間の定例作業スケジュールを自動作成するツールを作成し活用している。これがかなり便利なので、今回はその仕様を基にしたVBAコードと使い方を紹介する。この記事で...
VBA・Office

【EXCEL VBA】【windows】システムエラーメッセージ出力

Windowsで定義されているシステムエラーメッセージ一覧を取得するため、Windows APIの `FormatMessage` 関数をExcel VBAから呼び出し、指定したエラーコードのメッセージを出力する方法を解説します。## Fo...
VBA・Office

net helpmsgのメッセージ一覧

Windowsのシステムエラーコードの内容を調べる際に便利なのが、net helpmsgコマンドです。たとえば「net helpmsg 5」と実行すると、「アクセスが拒否されました。」というメッセージが表示されます。この記事では、net h...