プログラミング

VBA

【VBA】ユーザーフォームの戻り値を取得する

Excel VBAで、OKボタン、キャンセルボタンを配置したユーザーフォームの戻り値を取得する方法を紹介します。 OKボタン、またはキャンセルボタンを押すとユーザーフォームが閉じられ、どのボタンが押されたのか取得できるようにします。 フォー...
VBA

【Excel VBA】Workbook_Open()イベントのデバッグ方法

最近、Excel VBAを使ったプロジェクトに取り組んでいます。 ExcelのWorkbook_Open()イベント処理を書いた際、デバッグが必要になることがあります。しかし、ファイルを閉じるとブレークポイントが解除され、デバッグが難しいこ...
VB.NET, C#

【C#】複数のORをまとめて書けないか

ある変数の値が、複数の値のうち「いずれかに一致する」かどうかを判定したいとき、ORを使用して書くと冗長になります。他に何か良い書き方は無いのでしょうか。 単純にORで書くと ベタにif文でORを使用して書くと下記のようになります。 if (...
コーディング

【VB、VBA】Withステートメントの注意点【使わない方が良い?】

VB系の言語にはWithステートメントというものがあります。オブジェクト名を省略して記述できる構文で、コードを洗練させたりできます。 しかし、過度の使用や誤ったアプローチは可読性を損ない、保守性を低下させる可能性があります。 この記事では、...
VB.NET, C#

【Excel操作】SpreadsheetLightを使ってみた【C#】

Windowsフォームアプリケーション(C#)にて、Excelファイルを操作するライブラリ「SpreadsheetLight」を使ってみたので紹介します。 SpreadsheetLightとは SpreadsheetLightは、C#で書か...
コーディング

ファーストクラスコレクションとは【デザインパターン】

オブジェクト指向のデザインパターンであるファーストクラスコレクションについて学んだことをまとめました。 ファーストクラスコレクションとは 配列やコレクションの操作を行うのは、for文などのループ処理が多いと思います。こういったループ処理がい...
VB.NET, C#

C#:文字数を気にせずに文字列を切り出す【Left、Right、Mid】【拡張メソッド使用】

C#で文字列を切り出すにはSubstring関数を使用します。この関数は文字数を気にしてコーディングしないと例外が発生してしまいます。 例えば、下記のコードでは、操作対象の文字列よりも長い文字数を切り出そうとしているので例外(System....
VB.NET, C#

開いているExcelファイルを操作する【C#, VB.NET】

Windows Formアプリケーション(C#、VB.NET)で、既に開いているExcelファイルを操作するプログラムを作ってみました。 準備 COM(Microsoft.Office.Interop.Excel)を使用してExcelを操作...
VBA

【VBA】Implementsでインターフェースを実装する

VBAではクラスの継承がサポートされていませんが、インターフェースの実装はサポートされています。 VBAでは本格的なオブジェクト指向で設計してシステムを組むことはよっぽどないし、出番は少ないかもしれませんが、ブログのネタになんとなくVBAで...
VBA

VBAの文字列操作:&演算子と+演算子の違い、適切な使い方、及び注意点

VBAでは、文字列の連結を行うために&演算子または+演算子を使用できますが、これらの演算子には挙動の違いがあります。本記事では、&演算子と+演算子の違いについて説明し、コーディングにおける注意点を紹介します。 &演算子、+演算子の違い &演...