|
お疲れ様です。
以前、CSV出力に関して質問させていただきましたが、
CSVではなくエクセルでの出力も出来ると聞きました。
以下の構文はCSV出力の構文ですが、エクセル出力にする場合は
何処を変更すればよろしいでしょうか?
よろしくお願いします。
Private Sub CommandButton1_Click()
Dim Target As Range
Dim count_WAREA As Integer
Dim IRow As Long
Set Target = ActiveSheet.UsedRange.Resize(, 52)
Target.Select
If MsgBox("DBをCSV保存しますか?", vbOKCancel) _
= vbCancel Then Exit Sub
Dim SaveFile ' CSVファイルパス
SaveFile = CreateObject("WScript.Shell"). _
SpecialFolders("DeskTop") & "\バックアップデータ.Csv"
SaveFile = Application.GetSaveAsFilename(SaveFile, "CSV,*.csv")
If VarType(SaveFile) = vbBoolean Then Exit Sub
'(1)新規Bookをシート枚数1枚で 追加する。
Dim SaveCount&
Dim NewBook As Workbook
With Application
SaveCount = .SheetsInNewWorkbook
.SheetsInNewWorkbook = 1
Set NewBook = Workbooks.Add
.SheetsInNewWorkbook = SaveCount
End With
'(2) 元のBookの指定シートのUsedRange.Resize(,52) の範囲を _
Copyして、新規BookのSheets(1).Range("A1")に貼り付ける。
Target.Copy NewBook.Sheets(1).Range("A1")
'(3)新規BookをCSV形式で保存する
With NewBook
.SaveAs SaveFile, xlCSV, Local:=True
.Save
.Close
End With
MsgBox "CSV形式で保存しました", , SaveFile
Set Target = Nothing
Set NewBook = Nothing
End Sub
|
|