VBAで「名前を付けて保存」ダイアログ
プロシージャで、「名前を付けて保存」ダイアログを表示させて、[.csv]形式で保存するという記述をしたいのですが、うまくいきません。
望む手作業的プロセスは次のような感じです。
1.保存したいシートをアクティブにする
2.「ファイル」→「名前を付けて保存」
3.ファイル名を「サンプルエクスポート」と入力
4.ファイルの種類で「CSV(カンマ区切り)」を選択
こうすると、「選択した種類のファイルは複数の複数のシートを含むブックをサポートしていません。」注意メッセージがでるので、OKをして、次の注意メッセージもOKすると、数値データとしてのcsvファイルがアクティブシート分だけ出来ます。
これをVBAで再現したいのです。
以下、具体的な記述です。
------------------------------
Sub エクスポートの実行()
Dim 既定ファイル名 As String
Dim 保存ファイル名 As Variant
既定ファイル名 = "サンプルエクスポート.csv"
保存ファイル名 = Application.GetSaveAsFilename(既定ファイル名, "CSV(カンマ区切り)(*.csv),*.csv")
If 保存ファイル名 = False Then
MsgBox "保存は中止されました"
Else
ActiveWorkbook.SaveCopyAs 保存ファイル名
End If
End Sub
-------------------------------
■上記の記述でうまくいかないのが、実際に保存された[.csv]ファイルに全てのシートが保存されていて、関数も入っているということです。実際に拡張子は[.csv]となって保存されていますが、中身は[.xls]となんらかわっていないように見えます。
構文が良くわかっていないのだと思うので、上記のプロシージャで具体的な修正方法を教えていただけると助かります。
要は、手作業ではなくVBAを利用してエクスポートデータを作りたいというのが目的です。
お礼
有難うございました