VocExcel(単語帳) / VBA Tips
[Key] エクセル / Excel / VBA /マクロ
|
<--- 戻る
CSV形式で保存 |
サンプルファイル
カンマ区切りのCSV形式で保存します。
セルに半角「,」がある場合は、あらかじめ全角「,」に置換して下さい。
|
Sub CSVOut_A()
Dim Folder1 As String
Dim CSVFile As Workbook
Dim PrebookName As String
Dim PreLastRow As Long
Dim fileNME As String
Dim VocExcelCSV As String
On Error GoTo line
'############# CSVフォルダを作成
Folder1 = "CSV"
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path 'エクセルファイルのある場所に移動する
If Dir(ThisWorkbook.Path & "\" & Folder1, vbDirectory) = "" Then 'folder1の中身が空だったら
MkDir Folder1 'Folder1 = "CSV" / フォルダ名「CSV」のフォルダを作成
End If
Application.ScreenUpdating = False
'############# 必要なパスなど
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path 'エクセルファイルのある場所に移動する
'############# 単語帳の元データをコピーしておく
PrebookName = ActiveWorkbook.Name '※1
Workbooks(PrebookName).Activate
ActiveSheet.Select
PreLastRow = ActiveSheet.Cells(65536, "B").End(xlUp).Row '最終行
ActiveSheet.Range(Cells(10, "B"), Cells(PreLastRow, "AZ")).Select
Selection.Copy
'############# 新しいワークブック開く
Set CSVFile = Workbooks.Add(xlWorksheet)
'############# 新しいワークブックをCSVファイルとして保存する
fileNME = "VocCSV_" & Format(Date, "yymmdd") & "_" & Format(Now, "hhmmss") & ".csv"
VocExcelCSV = ThisWorkbook.Path & "\CSV\" & fileNME 'ファイル名の決定
With CSVFile
.Sheets(1).Cells(1, "A").Select
Selection.PasteSpecial Paste:=xlValues '値のみ
'Selection.PasteSpecial Paste:=xlFormats '書式のみ
Application.DisplayAlerts = False
.SaveAs VocExcelCSV, xlCSV '実際にCSVファイルを保存する
.Close Savechanges:=False
End With
'############ 後処理
With Application
.CutCopyMode = False
.DisplayAlerts = True
'.ScreenUpdating = True
End With
MsgBox "《CSV出力》CSVフォルダーに保存しました。 " & Chr(13) & Chr(13) & "→ ファイル名 : " & fileNME
Application.ScreenUpdating = True
Exit Sub
line:
MsgBox "エラーが発生しました。処理を中止します。"
Application.ScreenUpdating = True
End Sub
|
|
-- |