大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、アドインを呼び出すには、「Application.Run」を使うとできます。同じ方法で「別ブック」のマクロを呼び出すことも可能です。ただ、別ブックが開いちゃいますので、よく使うマクロは、アドイン化して、別ブックから呼び出せるようにしておくと便利です。アドインをうまく使っていきましょう。

はじめに

この記事では、アドインを呼び出す方法について、ご紹介します。

アドインをマクロから呼び出すには、「Application.Run」を使うと簡単にできます。

「Application.Run」を使えば、別ブックのマクロを呼び出すこともできます。

ただ、別ブックも表示してしまうので、よく使うマクロであれば、アドイン化して別ブックから呼び出せるようにすると便利です。

「アドイン化」は、マクロを「.xlam」ファイルで保存すればできます。

アドインをうまく使って、実務を効率化していきましょう。

では、アドインを呼び出す方法について、解説していきます。

この記事で紹介すること

  • アドインを呼び出す方法

目次から見たい項目へ移動すると便利ですよ。

目次

アドインを呼び出して実行

「アドイン」を呼び出して実行してみます。

Application.Runでアドインを実行

「Application.Run」を使うとアドインを呼び出すことができます。

やりたいことは、「アドイン」をマクロから呼び出したい、ということです。

「アドイン」をマクロから呼び出したい

「アドイン」をマクロから呼び出したいです

「アドイン」をマクロから呼び出すVBAコードです。

「アドイン」をマクロから呼び出す

呼び出す側のマクロです。

Sub TEST1()
    
    'アドインの「TEST1」を実行
    Application.Run "'C:\Users\User\AppData\Roaming\Microsoft\AddIns\TEST.xlam'!TEST1"
    
End Sub

「アドイン」側のマクロです。

Sub TEST1()
    
    MsgBox "実行しました"
    
End Sub

VBE画面でみると、こんな感じで「アドイン」のマクロを呼び出します。

VBE画面でみると、こんな感じで「アドイン」のマクロを呼び出します

やり方として、まずは「アドイン」ファイルのフルパスを取得します。

「アドイン」ファイルのパスを取得する

「F12」で「名前を付けて保存」の画面を表示します。

「F12」で「名前を付けて保存」の画面を表示します

名前を付けて保存の画面で、「ファイル種類」を変更します。

名前を付けて保存の画面で、「ファイル種類」を変更します

Excelアドイン「.xlam」を選択します。

Excelアドイン「.xlam」を選択します

「.xlam」ファイルを選択すると、アドインのフォルダに移動します。

「.xlam」ファイルを選択すると、アドインのフォルダに移動します

実行したいアドインを「右クリック」します。

実行したいアドインを「右クリック」します

「パスのコピー」を選択します。

「パスのコピー」を選択します

次のように「アドイン」ファイルの「フルパス」を取得できます。

"C:\Users\User\AppData\Roaming\Microsoft\AddIns\TEST.xlam"

ファイルパスに「'」と「'!」をつけて、マクロ名の「TEST1」を付けると完成です。

Sub TEST1()
    
    'アドインの「TEST1」を実行
    Application.Run "'C:\Users\User\AppData\Roaming\Microsoft\AddIns\TEST.xlam'!TEST1"
    
End Sub

これで、アドインのマクロを実行できます。

アドインのマクロを実行してみる

アドインのマクロを実行できました

アドインのマクロを実行できました。

引数を使う場合

引数を使う場合は、「Application.Run」の第2引数以降に入力していきます。

「引数」を渡してアドインのマクロを実行

呼び出す側のマクロです。

Sub TEST2()
    
    'アドインの「TEST2」に引数を渡して実行
    Application.Run "'C:\Users\User\AppData\Roaming\Microsoft\AddIns\TEST.xlam'!TEST2", "実行しました"
    
End Sub

「アドイン」側のマクロです。

Sub TEST2(a)
    
    MsgBox a
    
End Sub

「引数」を渡して、アドインのマクロを実行できます。

「引数」を渡せた

「引数」を渡して、アドインのマクロを実行できました

「引数」を渡して、アドインのマクロを実行できました。

別ブックのマクロを実行する

同じ方法で、「別ブック」のマクロを実行することもできます。

Application.Runで別ブックのマクロを実行

「Application.Run」で別ブックのマクロを実行してみます。

「別ブック」のマクロを実行したい

「別ブック」のマクロを実行したいです

デスクトップに保存した「TEST.xlsm」のマクロを実行してみます。

「別ブック」のマクロを実行するVBAコードです。

「別ブック」のマクロを実行

呼び出す側のマクロです。

Sub TEST3()
    
    '別ブックの「TEST3」を実行
    Application.Run "'C:\Users\User\Desktop\TEST.xlsm'!TEST3"
    
End Sub

別ブックのマクロをです。

Sub TEST3()
    
    MsgBox "実行しました"
    
End Sub

別ブックのマクロを実行できます。

「別ブック」のマクロを実行できた

別ブックのマクロを実行できました。別ブックも同時に表示されます

別ブックのマクロを実行できました。

別ブックも同時に表示されます。

引数を使う場合

引数を使う場合も同じで、「Application.Run」の第2引数以降に値を入力します。

「引数」を渡して「別ブック」のマクロを実行したい

「引数」を渡して、「別ブック」のマクロを実行したいです

デスクトップに保存した「TEST.xlsm」に「引数」を渡して、マクロを実行してみます。

「引数」を渡して「別ブック」のマクロを実行

呼び出す側のマクロです。

Sub TEST4()
    
    '別ブックの「TEST4」を実行
    Application.Run "'C:\Users\User\Desktop\TEST.xlsm'!TEST4", "実行しました"
    
End Sub

別ブックのマクロです。

Sub TEST4(a)
    
    MsgBox a
    
End Sub

「引数」を渡して、別ブックのマクロを実行できます。

「引数」を渡せた

「引数」を渡して、別ブックのマクロを実行できました。別ブックも同時に表示されます

「引数」を渡して、別ブックのマクロを実行できました。

別ブックのマクロを実行した場合は、別ブックも同時に表示されちゃいます。

別ブックを開きたくない場合は、マクロを「アドイン化」して使うと便利です。

「アドイン化」は、マクロを「.xlam」ファイルで保存すればできます。

おわりに

この記事では、アドインを呼び出す方法について、ご紹介しました。

アドインをマクロから呼び出すには、「Application.Run」を使うと簡単にできます。

「Application.Run」を使えば、別ブックのマクロを呼び出すこともできます。

ただ、別ブックも表示してしまうので、よく使うマクロであれば、アドイン化して別ブックから呼び出せるようにすると便利です。

「アドイン化」は、マクロを「.xlam」ファイルで保存すればできます。

アドインをうまく使って、実務を効率化していきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す