
ファイル名の右側を変更したい
ファイル名:「1001日別売上」の左側へ「2022」を追加し、「20221001日別売上」へ変更するのに下記コードを使っています。今回の質問としてファイル名:「20221001日別売上」の右側へ「_確認済」を追加し、「20221001日別売上_確認済」としたいのですが右側を変更するためのコード変更部分が解りません。よろしくお願いいたします。
Sub A2_指定文字追加()
Dim FileP As String
'フォルダ選択のダイアログボックスを開く
Application.FileDialog(msoFileDialogFolderPicker).Show
'選択したフォルダのパス名を取得
FileP = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
MsgBox "追加文字をコピーしてください"
'ファイル名の変換
Dim FileA As String
'選んだフォルダの拡張子xlsを含むファイルを返す
FileA = Dir(FileP & "\*.xls*")
'ファイル名の変換
Dim Str1 As String, Str2 As String
'変換前の対象文字列
Str1 = InputBox("追加文字を貼り付けてください", "ファイル名変更", "") '←任意で変える部分
'変換後の文字列
Str2 = "" '←任意で変える部分
'フォルダ内のファイルがなくなるまで繰り返す
Do While FileA <> ""
'各ファイルのStr1部分をStr2に変換する
Name (FileP & "\" & FileA) As (FileP & "\" & Str1 & FileA)
'Dirの指定をなくす
FileA = Dir()
Loop
End Sub
No.5ベストアンサー
- 回答日時:
No3です。
>補足になりますが「_確認済」は固定ではなくポップアップ画面で指定して変更できるようなことができませんでしょうか。
Sub A2_指定文字追加()を以下のように変えてください。
Public Function add_str は変えません。
str2を使用するようにしました。
Sub A2_指定文字追加()
Dim FileP As String
'フォルダ選択のダイアログボックスを開く
Application.FileDialog(msoFileDialogFolderPicker).Show
'選択したフォルダのパス名を取得
FileP = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
MsgBox "追加文字をコピーしてください"
'ファイル名の変換
Dim FileA As String
'選んだフォルダの拡張子xlsを含むファイルを返す
FileA = Dir(FileP & "\*.xls*")
'ファイル名の変換
Dim Str1 As String, Str2 As String
'変換前の対象文字列
Str1 = InputBox("追加文字を貼り付けてください", "ファイル名変更", "") '←任意で変える部分
'変換後の文字列
Str2 = InputBox("右側の追加文字を貼り付けてください", "ファイル名右側変更", "") '←任意で変える部分
'フォルダ内のファイルがなくなるまで繰り返す
Do While FileA <> ""
'各ファイルのStr1部分をStr2に変換する
Dim newname As String
'FileAに_確認済を付加する
newname = add_str(FileA, Str2)
Name (FileP & "\" & FileA) As (FileP & "\" & Str1 & newname)
'Dirの指定をなくす
FileA = Dir()
Loop
End Sub
No.6
- 回答日時:
別回答の方では対策が取られていたらダブって申し訳ないです。
【VBA】InputBox関数でキャンセルされた時の判定方法
https://yaromai.jp/inputbox_cancel/
InputBoxで必ず入力を行なうのであれば関係ないですが、もし違う場合に参考になりそうなサイトをあげておきます。
No.4
- 回答日時:
No.1*2です。
他の回答は見られないので補足のコードはわかりませんが、
>ポップアップ画面で指定して変更できるようなことができませんでしょうか。
変数:str1と同じようにstr2を作ってみるとかではないかな。
ベテラン回答者様には及ばないアドバイスで申し訳ないです。
Excelなしでテキストエディタだけで作成できる程のスキルがないもので。
No.3
- 回答日時:
以下のようにしてください。
Nameを実行する前にadd_strを呼び出し、FileAに_確認済を付加した名前を取得します。取得した名前をNameで変更します。
Sub A2_指定文字追加()
Dim FileP As String
'フォルダ選択のダイアログボックスを開く
Application.FileDialog(msoFileDialogFolderPicker).Show
'選択したフォルダのパス名を取得
FileP = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
MsgBox "追加文字をコピーしてください"
'ファイル名の変換
Dim FileA As String
'選んだフォルダの拡張子xlsを含むファイルを返す
FileA = Dir(FileP & "\*.xls*")
'ファイル名の変換
Dim Str1 As String, Str2 As String
'変換前の対象文字列
Str1 = InputBox("追加文字を貼り付けてください", "ファイル名変更", "") '←任意で変える部分
'変換後の文字列
Str2 = "" '←任意で変える部分
'フォルダ内のファイルがなくなるまで繰り返す
Do While FileA <> ""
'各ファイルのStr1部分をStr2に変換する
Dim newname As String
'FileAに_確認済を付加する
newname = add_str(FileA, "_確認済")
Name (FileP & "\" & FileA) As (FileP & "\" & Str1 & newname)
'Dirの指定をなくす
FileA = Dir()
Loop
End Sub
Public Function add_str(ByVal fname As String, ByVal astr As String) As String
Dim pos As Variant
Dim xlen As Long
add_str = fname
pos = InStrRev(fname, ".")
If pos < 1 Then Exit Function
xlen = Len(fname) - pos + 1
add_str = Mid(fname, 1, pos - 1) & astr & Right(fname, xlen)
End Function
No.1
- 回答日時:
よくわかりませんが既に変更済みなら
Name (FileP & "\" & FileA) As (FileP & "\" FileA & "_確認済")
とか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スマホの予測変換について
-
文字コードの%E3%80%とは何です...
-
CString から LPCTSTRの型に変換
-
CString型からdouble型への変換
-
VB6にも「ToString」ってあり...
-
ひらがなから全角カタカナへの...
-
vbwide(半角⇒全角変換)について
-
CSVファイルの中で、「 , 」カ...
-
エクセルで数値を全角文字(カ...
-
住宅にカナを入力する際に丁目...
-
テキストデータをエクセルの列...
-
word差し込み印刷 半角カタカ...
-
メモ帳の段落の揃え方
-
「何とかで始まり、何とかで終...
-
Excel2010 差し込み印刷について
-
csvデータのダブルクォーテーシ...
-
WORDで改ページすると時々グレ...
-
右側の半角スペースのみ取り除く
-
エクセルにペーストする際にカ...
-
【ドイツ人に質問です パート2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでPDFファイルをMicro...
-
文字コードの%E3%80%とは何です...
-
CString から LPCTSTRの型に変換
-
エクセルでの漢字(全角ひらが...
-
SQLのデータで半角カナを全角に...
-
ローマ字からカナに変換する方...
-
CString型からdouble型への変換
-
VBScript文字列をSJISからUTF8...
-
VBScript 全角英数記号→半角英...
-
SJIS->UTF8->SJISコード変換に...
-
VB6にも「ToString」ってあり...
-
ファイル名の右側を変更したい ...
-
【PHP】全角記号を半角記号...
-
ウイザードからのVBAでクエリー...
-
ubuntuの文字化け解消方法
-
文字化けしてしまって困っています
-
改行を含んだ文字列を正規表現...
-
Kシェルでの文字型→数値型変換
-
テキストをhtml変換するには
-
漢字からカタカナ変換マクロ
おすすめ情報
コードのご提示ありがとうございます。
補足になりますが「_確認済」は固定ではなくポップアップ画面で指定して変更できるようなことができませんでしょうか。よろしくお願いします。