※本ブログのページには広告主との提携による広告や宣伝、プロモーションが含まれます。当ブログを経由しての商品の購入や、サービス申し込みが発生すると、それらの提携企業からの成果報酬を受けとる場合があります。

VBA|GetSpecialFolderメソッド(ファイルシステムオブジェクト)

FileSystemObjectGetSpecialFolderメソッドは指定された特殊なフォルダオブジェクトを返します。

※ファイルシステムオブジェクト(FileSystemObject)についてはこちら

GetSpecialFolderメソッドの構文

ファイルシステムオブジェクト.GetSpecialFolder(フォルダパス(Folderspec))

GetSpecialFolderメソッドの構成要素と引数

要素/引数 必須/任意 説明
ファイルシステムオブジェクト
(FSO)
必須 ファイルシステムオブジェクトを指定します。
フォルダ種別
(Folderspec)
必須 特殊フォルダの種別を以下の値または定数より指定します。
[値:定数]
0:WindowsFolder
1:SystemFolder
2:TemporaryFolder
定数 説明
WindowsFolder 0 WindowsOSによりインストールされたファイルが入っているWindowsフォルダ
SystemFolder 1 ライブラリ、フォント、デバイスドライバーが入っているSystemフォルダ
TemporaryFolder 2 一時ファイルが入っているTempフォルダ
※フォルダ種別(Folderspec)は値もしくは定数のいずれかで指定可能です。

GetSpecialFolderメソッドをつかったサンプルマクロ

  
Option Explicit

Sub ファイルシステムオブジェクト_GetSpecialFolderメソッド()

    'ファイルシステムオブジェクトを使うため準備
    '①事前バインディングの場合はVBEのツールより参照設定で「Microsoft Scripting Runtime」にチェックをしてください。
    Dim FSO As FileSystemObject
    Set FSO = New FileSystemObject

    'GetSpecialFolderメソッドの使用例(値で指定)
    Debug.Print "①"; FSO.GetSpecialFolder(0) '定数ではWindowsFolder
    Debug.Print "②"; FSO.GetSpecialFolder(1) '定数ではSystemFolder
    Debug.Print "③"; FSO.GetSpecialFolder(2) '定数ではTemporaryFolder

    'GetSpecialFolderメソッドの使用例(定数で指定)
    Debug.Print "④"; FSO.GetSpecialFolder(WindowsFolder) '値では0
    Debug.Print "⑤"; FSO.GetSpecialFolder(SystemFolder) '値では1
    Debug.Print "⑥"; FSO.GetSpecialFolder(TemporaryFolder) '値では2

End Sub

11行目・16行目

GetSpecialFolderメソッドを利用してWindowsFolderのパスを表示します。フォルダの種別の指定には値(0)と定数(WindowsFolder)のそれぞれでVBAコードを書いています。

12行目・17行目

GetSpecialFolderメソッドを利用してSystemFolderのパスを表示します。フォルダの種別の指定には値(1)と定数(SystemFolder)のそれぞれでVBAコードを書いています。

13行目・18行目

GetSpecialFolderメソッドを利用してTemporaryFolderのパスを表示します。フォルダの種別の指定には値(2)と定数(TemporaryFolder)のそれぞれでVBAコードを書いています。

①と④、②と⑤、③と⑥はフォルダ種別の指定方法が異なるだけなので同じ結果になります。

特殊なフォルダを取得するときに使えるメソッドだよ。

PR

独学でプログラミングをはじめてみたけど、このままの学習方法に不安を感じているのなら、
オンラインスクールで現役エンジニアのサポートがあるテックアカデミーがおすすめ。
スキマ時間に学べて仕事も保証。必ず副業、始められます。まずは無料でプログラミング体験

コダマのもりブログはにほんブログ村に登録しています。
ブログの記事が役に立ったと感じて頂けたら、フォローお願いいたします。

コメント

タイトルとURLをコピーしました