|
テーブル さん、こんばんわ。
>EXCELからCSVに変更する際に、全てのアクティブセルに対してダブルクオテーションでデータをくくりたいのです・・・・
Sub test()
Dim Cmax As Integer, Rmax As Long, CC As Integer, RR As Long
Dim Cfile As String, DC As String
Dim ws As Worksheet
Set ws = ActiveSheet '現在表示中のシートが対象
'
DC = Chr(34) '"
'NewFile
With ws.Parent
If .Path = "" Then
'初めての保存の時はカレントフォルダに
Cfile = .Name & ".csv"
Else
'保存されたブックの時はブックと同じフォルダに
Cfile = .FullName
Cfile = Left(Cfile, Len(Cfile$) - 3) & "csv"
End If
End With
'出力範囲
With ws.UsedRange
Cmax = .Cells(.Count).Column
Rmax = .Cells(.Count).Row
End With
'
With ws
Open Cfile For Output As #2
For RR = 1 To Rmax
For CC = 1 To Cmax
If CC > 1 Then Print #2, ",";
'数字は”でくくらない場合などはここで分岐
Print #2, Chr(34) & .Cells(RR, CC).Value & Chr(34);
Next
Print #2, "" '改行
Next
Close #2
End With
'
Set ws = Nothing
End Sub
こんな感じです。
K3スタイル懐かしい…
|
|