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

VBA|Nameプロパティ(ファイルシステムオブジェクト)

Nameプロパティは指定したフォルダまたはファイルの名前を返す、または指定したフォルダやファイルの名前を設定します。

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

Nameプロパティの構文

フォルダまたはファイルオブジェクト(Object).Name = 新しい名前(Newname)

Nameプロパティの構成要素と引数

要素/引数 必須/任意 説明
フォルダまたはファイルオブジェクト
(Object)
必須 ファイルまたはファイルオブジェクトを指定します。
新しい名前
(Newname)
任意 フォルダやファイルの新しい名前を指定します。
※新しい名前(Newname)を指定する場合は、イコール(=)をつかって書きます。

Nameプロパティを利用するには、事前にGetFolderメソッドや、GetFileメソッドでフォルダオブジェクトやファイルオブジェクトを取得する必要があります。

新しい名前(Newname)を設定する場合は、イコール(=)を使って新しい名前にする文字列を指定します。

Nameプロパティをつかったサンプルマクロ

Nameプロパティでファイルやフォルダの名前を返す

次のマクロはNameプロパティを利用してイミディエイトウィンドウにフォルダとファイルの名前を表示します。

  
Option Explicit

Sub ファイルシステムオブジェクト_Nameプロパティ01()

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

    'フォルダオブジェクトとファイルオブジェクトを代入する変数の宣言
    Dim FolderObject As Object, FileObject As Object
    
    'GetFolderメソッドでフォルダを代入
    Set FolderObject = FSO.GetFolder("C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ1")    

    'GetFileファイルメソッドでファイルを代入
    Set FileObject = FSO.GetFile("C:\Users\ユーザー名\Desktop\Test\サンプルエクセル01.xlsx")
    
    'Nameプロパティを利用してフォルダとファイルの名前をイミディエイトウィンドウに表示する
    Debug.Print FolderObject.Name
    Debug.Print FileObject.Name

End Sub

20行目

Nameプロパティを利用して、変数「FolderObject」に代入したフォルダの名前を表示します。

21行目

Nameプロパティを利用して、変数「FileObject」に代入したファイルの名前を表示します。

GetFolder、GetFileで取得したフォルダやファイルの名前がイミディエイトウィンドウに表示されます。

Nameプロパティはフォルダやファイルオブジェクトを取得してから使おうね。

Nameプロパティでファイルやフォルダの名前を変更する

次のマクロはNameプロパティを利用してフォルダやファイルの名前を設定(変更)し、イミディエイトウィンドウに表示します。

  
Option Explicit

Sub ファイルシステムオブジェクト_Nameプロパティ02()

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

    'フォルダオブジェクトとファイルオブジェクトを代入する変数の宣言
    Dim FolderObject As Object, FileObject As Object

    'GetFolderメソッドでフォルダを代入
    Set FolderObject = FSO.GetFolder("C:\Users\ユーザー名\Desktop\Test\サンプルフォルダ1")

    'GetFileファイルメソッドでファイルを代入
    Set FileObject = FSO.GetFile("C:\Users\ユーザー名\Desktop\Test\サンプルエクセル01.xlsx")

    'Nameプロパティを利用して新しいフォルダとファイルの名前を設定(変更)する
    FolderObject.Name = "テストフォルダ"
    FileObject.Name = "テストエクセルファイル.xlsx"

    'Nameプロパティを利用してフォルダとファイルの名前をイミディエイトウィンドウに表示する
    Debug.Print FolderObject.Name
    Debug.Print FileObject.Name

End Sub

20行目

Nameプロパティを利用して、変数「FolderObject」に代入したフォルダの名前を”テストフォルダ”に変更します。

21行目

Nameプロパティを利用して、変数「FileObject」に代入したファイルの名前を”テストエクセルファイル.xlsx”に変更します。

24行目

Nameプロパティで変数「FolderObject」のフォルダ名を表示します。

25行目

Nameプロパティで変数「FileObject」のファイル名を表示します。

GetFolder、GetFileで取得したフォルダやファイルの名前がイミディエイトウィンドウに表示されます。

Nameプロパティはファイルやフォルダの名前を変更できるんだね。

Nameプロパティをつかったマクロの実用例

ファイルシステムオブジェクトのNameプロパティをつかって実務で使えるマクロの作りかたについては以下の記事でさらに具体的な事例として紹介しています。フォルダやファイルを操作するマクロを作りたいと考えている人はぜひ参考にしてください。

PR

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

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

コメント

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