Home » WSH・Windows Script Hostの使い方 » アドインフォルダを開くExcelマクロとVBScript

アドインフォルダを開くExcelマクロとVBScript

対象:Excel2007, Excel2010, Excel2013

「エクセルアドイン フォルダ 場所 vbs」
という検索でこのサイト・インストラクターのネタ帳へのアクセスがありました。

Excelのアドインフォルダを開いたりするVBScriptを探している方による検索でしょうか。

[スポンサードリンク]

アドインフォルダを開くサンプルマクロ

VBScriptの前に、アドインフォルダを開くExcelマクロをご紹介しておきましょう。

Sub アドインフォルダを開く()

 Dim shell_app As Object ' Shell32.Shell

 Set shell_app = CreateObject("Shell.Application")
 shell_app.Open Application.UserLibraryPath
 Set shell_app = Nothing

End Sub

Windowsエクスプローラーを利用するために、Shell.ApplicationをCreateObjectして、
 Set shell_app = CreateObject("Shell.Application")

ShellオブジェクトのOpenメソッドの引数に、

アドインフォルダを開くExcelマクロとVBスクリプト

Excel.ApplicationオブジェクトのUserLibraryPathプロパティで取得したアドインフォルダのパスを指定して、

アドインフォルダを開くExcelマクロとVBスクリプト

Windowsエクスプローラーでそのフォルダ開いています。
 shell_app.Open Application.UserLibraryPath

Excelのアドインフォルダを開くVBScript

で、
「エクセルアドイン フォルダ 場所 vbs」
という検索キーワードに対する回答です。

以下のようなVBScriptでExcelのアドインフォルダを開くことができます。

Option Explicit

Dim path

path = ""

On Error Resume Next

With CreateObject("Excel.Application")
 path = .UserLibraryPath
 .Quit
End With

If path = "" Then
 MsgBox "Excelのアドインフォルダを取得できませんでした。"
 WScript.Quit
End If

CreateObject("Shell.Application").Open path

If Err.Number <> 0 Then
 MsgBox "エラーが発生しました。"
End If

上記のコードを含んだ拡張子「.vbs」のファイルを作成して、ダブルクリックするとExcelのアドインフォルダが開かれます。

Excelのアドインフォルダのパスを調べるために、Excel.ApplicationをCreateObjectして
 With CreateObject("Excel.Application")

Excel.ApplicationオブジェクトのUserLibraryPathを取得して変数・pathに格納して、
  path = .UserLibraryPath

Excelを終了します。
  .Quit

アドインフォルダを開くExcelマクロとVBスクリプト

もしパスが取得できなかったときはメッセージボックスを表示してスクリプトを終了します。
 If path = "" Then
  MsgBox "Excelのアドインフォルダを取得できませんでした。"
  WScript.Quit

パスが取得できたときには、Excelマクロと同じようにWindowsエクスプローラーで、そのフォルダを開きます。
 CreateObject("Shell.Application").Open path

もし、何らかのエラーが発生した場合には、エラーメッセージを表示するようにしています。
 If Err.Number <> 0 Then
  MsgBox "エラーが発生しました。"

[スポンサードリンク]

Home » WSH・Windows Script Hostの使い方 » アドインフォルダを開くExcelマクロとVBScript

「WSH・Windows Script Hostの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.