【VBA×WindowsAPI】ReleaseDC関数の使い方
ReleaseDC関数は取得したデバイスコンテキスト(以下DC)を解放するための関数です。
ウィンドウ内に線や図形を描画したり、指定ピクセルの色を取得したりといった”ウィンドウの描画̶ ...
【VBA×WindowsAPI】GetDC関数の使い方
GetDC関数は指定したウィンドウのデバイスコンテキストへのハンドルを取得するための関数です。
デバイスコンテキスト(以下DC)とはMicrosoft公式を引用すると下記の通りです。
ディスプレイやプ ...
VBAで指定したウィンドウを操作(閉じる/最大化/最小化)する【SendMessage関数(API)】
VBAでマクロを作っている時に「指定したウィンドウを操作したいな」という場面に出くわすことはないでしょうか?ここでいう操作とはたとえば、指定したエクスプローラーのウィンドウを開くだけではなく最大化して表示したり、指定したウィンドウをま ...
【ChatGPT×VBA】AI(人工知能)による未来のコーディング
昨今話題のChatGPTというAI(人工知能)をご存知でしょうか。
ChatGPTとは簡単にいうと何でも答えてくれるチャットボットのようなもので、女子高生AI『りんな』を知っている人はそれと同じようなものをイメージしてもらえれ ...
試し割り法(素因数分解&決定的素数判定アルゴリズム)|Excel VBAで学ぶ数学とアルゴリズム
今回は素因数分解アルゴリズムかつ決定的素数判定アルゴリズムの「試し割り法」について解説していきます。試し割り法は素因数分解をするためのアルゴリズムですが、素因数分解をすればその数が素数であるかも同時に判定することができるため素数判定ア ...
VBAで自作DLLファイルを動的に呼び出す|C++でDLLを自作してExcelVBAで呼び出す方法⑤
第2回、第3回、第4回を通して関数の基本となる引数と戻り値の設定方法を解説してきたため、C++の知識さえあればVBAと連携可能な関数はある程度何でも作成できるような状態となりました。
しかし、これまでのコードはVBAで自作 ...
VBAで指定したウィンドウを最前面に表示する【SetForegroundWindow関数(API)】
VBAでマクロを作っている時に「指定したウィンドウを最前面に表示したいな」という場面に出くわすことはないでしょうか?
たとえばWindows APIのマウス操作を可能にするmouse_event関数などでウィンドウ内の何か ...
エラトステネスの篩(決定的素数判定アルゴリズム)|Excel VBAで学ぶ数学とアルゴリズム
今回は決定的素数判定アルゴリズムの「エラトステネスの篩ふるい」について解説していきます。
素数判定アルゴリズムは数多く存在しますがその中でも非常に単純で理解しやすいアルゴリズムです。
それもそのはず、このアルゴリズ ...
フェルマーテスト(確率的素数判定アルゴリズム)|Excel VBAで学ぶ数学とアルゴリズム
今回は確率的素数判定アルゴリズムの「フェルマーテスト」について解説していきます。
フェルマーというと『フェルマーの最終定理』で聞いたことがあるという人も多いのではないでしょうか。最終定理という名前で有名なこの定理ですが別名『フ ...
ユークリッドの互除法(最大公約数を求めるアルゴリズム)|Excel VBAで学ぶ数学とアルゴリズム
今回は任意の自然数の最大公約数を求める「ユークリッドの互除法」について解説していきます。
アルゴリズムとしての歴史は非常に深く、明示的に記述された最古のアルゴリズムといわれていてその誕生は紀元前3世紀にまで遡るアルゴリズムです ...
モンテカルロ法(乱択アルゴリズム)|Excel VBAで学ぶ数学とアルゴリズム
今回は乱択アルゴリズム「モンテカルロ法」について解説していきます。
このモンテカルロ法、あえて処理の中で乱数を使ってランダム性を出すというアルゴリズムなのですが、ランダム性を出しているのにも関わらず最終的にはある1つの答えが浮 ...
ギフト包装法(凸包アルゴリズム)|Excel VBAで学ぶ数学とアルゴリズム
今回は凸包とつほうアルゴリズムの「ギフト包装法」について解説していきます。
凸包アルゴリズムはいろいろな種類がありますが、ギフト包装法は最も単純で理解しやすいアルゴリズムです。その分、他の凸包アルゴリズムに比べて処理時間は多く ...
DLL関数を作成する(戻り値あり)|C++でDLLを自作してExcelVBAで呼び出す方法④
第2回、第3回で引数のありと引数なしの2パターンの関数の作成しました。
関数としては入力となる「引数」と出力となる「戻り値」が設定ができれば、基本的な関数としての機能は満たせます。
という訳で今回は「戻り値あり」パ ...
DLL関数を作成する(引数あり)|C++でDLLを自作してExcelVBAで呼び出す方法③
前回、”HelloWorld”というメッセージを表示する「HelloWorld」関数を作成しました。
この関数は引数も戻り値もない、いうなればDLL内で完結している関数でした。
しかし、VB ...