2023年1月2日C++, DLL, Excel, VBA

第2回、第3回、第4回を通して関数の基本となる引数と戻り値の設定方法を解説してきたため、C++の知識さえあればVBAと連携可能な関数はある程度何でも作成できるような状態となりました。

しかし、これまでのコードはVBAで自作 ...

2023年8月19日Excel, VBA, Windows API

VBAでマクロを作っている時に「指定したウィンドウを最前面に表示したいな」という場面に出くわすことはないでしょうか?

たとえばWindows APIのマウス操作を可能にするmouse_event関数などでウィンドウ内の何か ...

2023年1月2日Excel, VBA, アルゴリズム, 数学

今回は決定的素数判定アルゴリズムの「エラトステネスの篩ふるい」について解説していきます。
素数判定アルゴリズムは数多く存在しますがその中でも非常に単純で理解しやすいアルゴリズムです。

それもそのはず、このアルゴリズ ...

2023年1月5日Excel, VBA, アルゴリズム, 数学

今回は確率的素数判定アルゴリズムの「フェルマーテスト」について解説していきます。
フェルマーというと『フェルマーの最終定理』で聞いたことがあるという人も多いのではないでしょうか。最終定理という名前で有名なこの定理ですが別名『フ ...

2023年1月2日Excel, VBA, アルゴリズム, 数学

今回は任意の自然数の最大公約数を求める「ユークリッドの互除法」について解説していきます。
アルゴリズムとしての歴史は非常に深く、明示的に記述された最古のアルゴリズムといわれていてその誕生は紀元前3世紀にまで遡るアルゴリズムです ...

2023年2月11日Excel, VBA, アルゴリズム, 数学

今回は乱択アルゴリズム「モンテカルロ法」について解説していきます。
このモンテカルロ法、あえて処理の中で乱数を使ってランダム性を出すというアルゴリズムなのですが、ランダム性を出しているのにも関わらず最終的にはある1つの答えが浮 ...

2023年1月2日Excel, VBA, アルゴリズム, 数学

今回は凸包とつほうアルゴリズムの「ギフト包装法」について解説していきます。
凸包アルゴリズムはいろいろな種類がありますが、ギフト包装法は最も単純で理解しやすいアルゴリズムです。その分、他の凸包アルゴリズムに比べて処理時間は多く ...

2022年10月17日C++, DLL, Excel, VBA

第2回、第3回で引数のありと引数なしの2パターンの関数の作成しました。
関数としては入力となる「引数」と出力となる「戻り値」が設定ができれば、基本的な関数としての機能は満たせます。

という訳で今回は「戻り値あり」パ ...

C++, DLL, Excel, VBA

前回、”HelloWorld”というメッセージを表示する「HelloWorld」関数を作成しました。
この関数は引数も戻り値もない、いうなればDLL内で完結している関数でした。

しかし、VB ...

2022年8月21日C++, DLL, Excel, VBA

前回、何も処理を行わない「EmptyProcess」関数の入った「VBA_DLL.dll」を作成しました。

しかし、VBAで呼び出したときに何も起きないので成功しているかが少しわかりづらかったです。
そこで今回は視 ...

2022年8月21日C++, DLL, Excel, VBA

今回はVBAで呼び出し可能なDLLファイルをVisual Studioを使って作成していきます。
まずは単純にVBAで”自作したDLLファイルを呼び出せるのか”を確認するため、作成するDLLの中身の処理 ...

2022年10月17日C++, DLL, Excel, VBA

このページはVBAでアプリケーション拡張ファイルである「DLL」を自作して、呼び出すまでの流れを解説していきます。DLLファイルはC++言語で作成することができるため、VBAだけでは実現できないような処理をC++の機能で増幅させること ...

2023年2月4日Excel, VBA, Windows API

VBAでマクロを作っている時に「今表示してるウィンドウ名(キャプション)をまとめて取得したいな」という場面に出くわすことはないでしょうか?

通常、VBAの機能だけでは取得することはできませんが、Windowsに標準装備され ...

2023年2月4日Excel, VBA, Windows API

VBAでマクロを作っている時に「この操作をされた時には警告音を鳴らしたいな」という場面に出くわすことはないでしょうか?

Windowsには標準機能としてビープ音(警告音)を鳴らす機能がありますが、ExcelをはじめとしたV ...