ブログBlog

再起呼び出し

投稿日:2023年10月31日 ビジネス

こんばんは、深川です。
先日、マクロの再起呼び出しを勉強していて理解が追い付かない部分があったので、具体的にどこで使用するのか自分なりに整理してみました。

まず、再起呼び出しとは何かというと、自分自身を呼び出す処理が書かれている関数を呼び出すことです。どの言語でも使用することのある処理ですが、今回はマクロを例にしていきたいと思います。

再起呼び出しが一番例として用いられる問題が、階乗計算になります。5の階乗は、5×4×3×2×1=120と計算できますが、それを再起呼び出しで実行すると、
sub Test()
 Msgbox yobidashi(5)
End sub
で関数を呼び出し、
Function yobidashi(Byval n As Integer) As Integer
 If n <= 1 Then
  yobidashi = 1
 Else
  yobidashi = n * yobidashi(n-1)
 End If
End Function

になります。ポイントは、nの値が代入されるのは5から4、3と続いていきますが、取り出す順番は、1からになり、始めの Functionに記載の処理が終了時点では、n=1となり、yobidashiは1になります。引数5の取り出しが終わった時点で、プロシージャが終了になりメッセージボックスには120が表示されます。

マクロであればファイル一覧の作成等で使用されます。先ずは簡単な処理をかけるように勉強していきたいと思います。

PAGE TOP