
入力ボックスが繰り返しポップアップして止まらない。
下記コードでファイル名の変更をしたいのですが、変更前の文字を入力ボックスにするにはどう変えたら良いかおわかりの方教えてください。
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ランキング
-
3のつく数字と3の倍数のみを表...
-
VB.NETをJavaに変換するツール...
-
VB.NETからJavaに変換するツー...
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
C++からCへのソース変換について
-
php
-
VC++2005で、CString型に16進...
-
緯度、経度の 10進法と 60進法...
-
【EXCEL】カナ、ひらがなを英字...
-
VB6からVB2010への変換について
-
VB6から.NETへアップグレード時...
-
C#で漢字→ローマ字を変換
-
VBAを使って二進法計算
-
OpenCVで画像をある角度から見...
-
シフトJISのCSVファイルをUFT-8...
-
ASP.NET SJIS→UTF-8文字コード...
-
StrConvの使い方について教えて...
-
VB.Netでのシリアル通信につい...
-
画像ファイル変換(Tiff→PDF)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
家電製品の電力周波数を変える機械
-
エクセルVBAの自動変換機能?
-
緯度、経度の 10進法と 60進法...
-
Mac 乗数の入力方法
-
C/C++→JAVAに変換するツール
-
なぜ通信には16進数文字列が使...
-
VB6からVB2010への変換について
-
10進数をBCDに変換する方法
-
画像ファイル変換(Tiff→PDF)
-
エクセルのvbaで検索ボタンを作る
-
分を時間に変換するプログラム
-
StrConvの使い方について教えて...
-
三角形を逆三角形にしたいです...
-
逆コンパイルと逆アセンブルの...
-
VB.NETをJavaに変換するツール...
-
UTF8→ShiftJISに変換したいです!
-
FortranをC++(VC++)へ変換
-
3のつく数字と3の倍数のみを表...
-
c++でmatからvectorへの変換の...
-
C#でのpngからbmpへの変換について
おすすめ情報