
入力ボックスが繰り返しポップアップして止まらない。
下記コードでファイル名の変更をしたいのですが、変更前の文字を入力ボックスにするにはどう変えたら良いかおわかりの方教えてください。
Sub ファイル名変換2()
Dim FileP As String
'フォルダ選択のダイアログボックスを開く
Application.FileDialog(msoFileDialogFolderPicker).Show
'選択したフォルダのパス名を取得
FileP = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
'ファイル名の変換
Dim FileA As String
'選んだフォルダの拡張子xlsを含むファイルを返す
FileA = Dir(FileP & "\*.xls*")
'フォルダ内のファイルがなくなるまで繰り返す
Do While FileA <> ""
'ファイル名の変換
Dim Str1 As String, Str2 As String
'変換前の対象文字列
Str1 = InputBox("変更前を入力", "ファイル名変更", "")'←任意で変える部分
'変換後の文字列
Str2 = "" '←任意で変える部分
'各ファイルのStr1部分をStr2に変換する
Name FileP & "\" & FileA As (Replace(FileP & "\" & FileA, Str1, Str2))
'Dirの指定をなくす
FileA = Dir()
Loop
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
フォルダの.xls*ファイルすべてをリネームする処理だと思いますが
Replace(FileP & "\" & FileA, Str1, Str2)
>変更前の文字を入力ボックスにするにはどう変えたら良いか
なっているように思いますが?
ファイル名すべてをリネームしたいのでしょうか?
一律に文字を変更するのなら、
Str1 = InputBox("変更前を入力", "ファイル名変更", "")'←任意で変える部分 と 変換後の文字列
Str2 = "" '←任意で変える部分 を Do While FileA <> ""の前にすれば良いと思います。
気になるのは、ダイアログ、InputBox でのキャンセル処理
キャンセル処理の仕方を聞きたいのかな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) シートをコピーする下記記述でダイアログを用いた記述がわかりません?( A = Dir(ThisWor 4 2022/08/22 12:26
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
【EXCEL】カナ、ひらがなを英字...
-
基数変換のプログラム教えてく...
-
緯度、経度の 10進法と 60進法...
-
hex2binプログラム
-
VBScriptでのコード変換
-
特定のタイムゾーンからtime_t...
-
isoをimgに変換したいのですが...
-
Macターミナルで実行中のプログ...
-
VBでネームエントリー
-
H8について教えて下さい。
-
C#.net FTPでホームディレクト...
-
VBSの処理中一旦処理を止めて再...
-
TCP/IPプログラミング
-
プロセスのハンドルを確保
-
gccとvisualstudio
-
Windows7アプリケーションのプ...
-
異なるプログラミング言語を連...
-
空きポートの取得方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
緯度、経度の 10進法と 60進法...
-
分を時間に変換するプログラム
-
Mac 乗数の入力方法
-
逆コンパイルと逆アセンブルの...
-
UTF8→ShiftJISに変換したいです!
-
なぜ通信には16進数文字列が使...
-
マンセル⇔XYZ,RGB変換式或いは...
-
VB6からVB2010への変換について
-
三角形を逆三角形にしたいです...
-
エクセルのvbaで検索ボタンを作る
-
【EXCEL】カナ、ひらがなを英字...
-
C/C++→JAVAに変換するツール
-
シーケンサのCPUはニーモニック...
-
php
-
画像ファイル変換(Tiff→PDF)
-
PHPで、日本語からアルファベッ...
-
vb.netの型変換について
-
10進数をBCDに変換する方法
おすすめ情報