エクセルマクロで、名前を付けて保存時に拡張子をCSVに設定するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
動画で動作確認ができます👇
名前を付けて保存時に拡張子をCSVに設定
以下のマクロを実行すると、名前をつけて保存ダイヤログを表示し、拡張子をCSVに設定します。
Sub 名前を付けて保存で拡張子に設定()
Dim FileName As String
Dim FindPos As Long
Dim Done As Variant
'拡張子を除くファイル名を取得
FindPos = InStrRev(ActiveWorkbook.Name, ".")
FileName = Left(ActiveWorkbook.Name, FindPos - 1)
Done = IIf(Application.Dialogs(xlDialogSaveAs). _
Show(Arg1:=ThisWorkbook.Path & "\" & FileName & ".csv", Arg2:=xlCSV), _
"保存", "キャンセル")
If Done = "キャンセル" Then
'「キャンセル」を選択したときの動作を入力する
Else
'「保存」を選択したときの動作を入力する
End If
End Sub
マクロ実行後
「ファイル名」の拡張子と「ファイルの種類」の両方を、CSVに設定します。
「Arg1」と「Arg2」の両方の拡張子がCSVに揃っていなければ、
「ファイル名」は表示されません。
例えば、以下のコードでは「ファイル名」が表示されません。
「ファイル名」が表示されない原因は、
「Arg1」の ActiveWorkbook.Name の拡張子は「.xlsm」になっていて、
「Arg2」は CSV に設定されているためです。
Sub 名前を付けて保存()
Dim Done As Variant
Done = IIf(Application.Dialogs(xlDialogSaveAs).Show _
(Arg1:=ThisWorkbook.Path & "\" & ActiveWorkbook.Name, Arg2:=xlCSV), _
"保存", "キャンセル")
If Done = "キャンセル" Then
'「キャンセル」を選択したときの動作
Else
'「保存」を選択したときの動作
End If
End Sub
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】名前を付けて保存処理を自動化する使用例
【エクセルマクロ】名前を付けて保存処理を自動化:超便利8選
...
「Excel自動化[最強]時短仕事術」
自動化の基礎と時短に役立つテクニック解説書
毎日の定型業務を手際良く行え、大幅な業務効率化を実現!
リンク