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

Sub Macro1()

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

End Sub
Function TestFunc()

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

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

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

注:

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

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

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

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(1535)は、Microsoft Word 97、2000、2002、および2003に適用されます。Wordのリボンインターフェイス用のこのヒントのバージョン(Word 2007以降)ここ:

link:/ wordribbon-Understanding_Functions [関数を理解する]