マクロでサブルーチンを使用できることはすでにご存知でしょう。 VBAでは、マクロで使用できる関数を定義することもできます。関数とサブルーチンの違いは、関数は値を返すことができるのに対し、サブルーチンはできないことです。次のVBAマクロについて考えてみます。

Sub Macro1()

TooMany = TestFunc     If TooMany Then StatusBar = "Too many pages"

End Sub
Function TestFunc()

TestFunc = False     If Selection.Inforamtion(wdNumberOfPagesInDocument) > 10 Then        TestFunc = True     End If End Function

このコードには2つのマクロがあります。 1つは関数(TestFunc)で、もう1つは関数を呼び出すために使用されるマクロ(Macro1)です。関数が実行されると、通常のマクロで実行されるすべてのことを実行できます。この場合、TestFunc変数がTrueまたはFalseに設定されるテストを実行します。この変数名は関数名と同じであることに注意してください。これは、関数によって呼び出されたプログラムに返される値です。

これでMacro1マクロが表示されます。 TestFunc関数は、等号の右側に表示される場合があることに注意してください。これにより、関数は非常に強力になり、プログラムの重要な部分になります。 VBAは関数を実行し、その関数から適切な値を返し、それを等号の左側の変数(TooMany)に割り当てます。次に、プログラムは返された値に基づいて動作します。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(12961)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice 365のWordに適用されます。このヒントのバージョンは、ここにWordの古いメニューインターフェイス: