VB6・VBA関数メモ:Nameステートメント

Nameステートメントについてメモしておきます。

このステートメントはファイルやフォルダの名前の変更を行う際に使用します。
また、ファイルやフォルダの移動を行うこともできます。

変更先が既に存在している場合はエラーとなります。
また、変更元が存在しない場合や既に開かれている場合はエラーとなります。


概要

Name OldPathName As NewPathName
機能 ファイルまたはフォルダの名前変更・移動
引数 OldPathName 変更対象とするファイル・フォルダのパス
NewPathName 変更後のファイル・フォルダのパス


使用例

説明 記述例 出力
ファイル名を変更する
Name "E:¥Before.txt" As "E:¥After.txt"

ファイルを移動する
Name "E:¥123¥Before.txt" As "E:¥234¥After.txt"

フォルダ名を変更する
Name "E:¥BeforeDir" As "E:¥AfterDir"

フォルダを移動する
Name "E:¥123¥BeforeDir" As "E:¥234¥AfterDir"



動作検証

説明 記述例 出力
指定のファイルが存在しない場合はエラー
※例では"E:¥Before.txt"が存在しない
On Error Resume Next

'ファイル名変更
Name "E:¥Before.txt" As "E:¥After.txt"

'エラー時は出力
If Err > 0 Then Debug.Print Error
ファイルが見つかりません。
指定のファイルが開いている場合はエラー
On Error Resume Next

'ファイルオープン
Dim n   As Integer
n = FreeFile
Open "E:¥Before.txt" For Input As #n

'ファイル名変更
Name "E:¥Before.txt" As "E:¥After.txt"

'エラー時は出力
If Err > 0 Then Debug.Print Error

'ファイルを閉じる
Close #n
ファイルは既に開かれています。
指定のフォルダ内のファイルが開いている場合はエラー
On Error Resume Next

'ファイルオープン
Dim n   As Integer
n = FreeFile
Open "E:¥BeforeDir¥123.txt" For Input As #n

'ファイル名変更
Name "E:¥BeforeDir" As "E:¥AfterDir"

'エラー時は出力
If Err > 0 Then Debug.Print Error

'ファイルを閉じる
Close #n
パス名が無効です。
変更先のファイルが既に存在している場合はエラー
On Error Resume Next

'ファイル名変更
Name "E:¥Before.txt" As "E:¥After.txt"

'エラー時は出力
If Err > 0 Then Debug.Print Error
既に同名のファイルが存在しています。
変更先のフォルダが既に存在している場合はエラー
On Error Resume Next

'ファイル名変更
Name "E:¥BeforeDir" As "E:¥AfterDir"

'エラー時は出力
If Err > 0 Then Debug.Print Error
既に同名のファイルが存在しています。


コメント
コメントする








    
この記事のトラックバックURL
トラックバック