お世話になっております。
VBSで、CSVファイルをカンマ区切りで配列にし、
ファイルに書き出したいです。
下記のスクリプトを実行すると3行の改行と
これ⇒ ----------------
だけ出力されます。
Splitは使用できないのでしょうか?
どこが間違っているのかわかりません。
ご教授いただけませんでしょうか。
'---------------------------------------------------------------
On Error Resume Next
Set OBJFS01 = CreateObject("Scripting.FileSystemObject")
Set CSVTEXT01 =OBJFS01.OpenTextFile("C:\tmp\CSVTEXT.log")
Set LOGTEXT01 =OBJFS01.OpenTextFile("C:\tmp\LOGTEXT.log",8,False)
'---------------------------------------------------------------
i = 0
Dim HAIRETU(27)
Do While i < 6
HAIRETU(27) = Split(CSVTEXT01, ",")
LOGTEXT01.WriteLine(HAIRETU(2))
LOGTEXT01.WriteLine(HAIRETU(3))
LOGTEXT01.WriteLine(HAIRETU(4))
LOGTEXT01.WriteLine("----------------")
i = i + 1
Loop
LOGTEXT01.close
CSVTEXT01.close
初めまして、よろしくお願いします。
最近VBAを見よう見まねで入力している超初心者です。
C1からC10までにA1+B1の計算結果を入力するVBAで
Sub TEST()
Dim myCnt As Long
For myCnt = 1 To 10
Cells(myCnt, 3).Value = Cells(myCnt, 1).Value + Cells(myCnt, 2).Value
Next myCnt
End Sub
というVBAが有りますが、このA1からA10、B1からB10の間に未入力などが有ると計算の途中でエラーになってしまうようです。エラーにならない対策方法を教えていただきたく、よろしくお願いします。
ドライブの中フォルダーに関する情報を一覧表にして、どのフォルダーがドライブ容量を圧迫しているか調べたく、下記のVBAを書いてみたのですが、うまく走りません。 取得したい内容は、例えば、My Documentの中に入っている、Folder Name, Size, DateLastModifiedです。サブフォルダーがある場合は、さらにそのフォルダーの上記の情報も取得したいです。
***************************************************************
Sub FolderList()
Dim fs As Object, fd As Object, f As Object
Dim i As Integer
Set fs = CreateObject("Scripting.FileSystemObject")
Set fd = fs.GetFolder("C:\Documents and Settings\Ontario91")
If f.Type Like "Folder*" Then
i = i + 1
Cells(i, 1).Value = f.Name
Cells(i, 2).Value = f.DatelastModified
Cells(i, 3).Value = f.Size
End If
Range("A1").CurrentRegion.EntireColumn.AutoFit
End Sub
***************************************************************
VBA初心者なので、精通されている方たちには、かなり初歩的なコードだと思い、恥ずかしいのですが、質問させていただきます。お力添えよろしくお願い致します。
エクセルファイルシートをセミコロン区切りのテキストファイルに変換して出力したいです。
エクセル2002では以下のVBAで書いたマクロがちゃんと動いてTABをセミコロンに置換できますが、エクセル2003では置換ができなくてデータとデータの間にTABまま出力されます。
Public Sub ExportWorksheetWithCustomDelimiter( _
ByVal SourceWorksheet As Variant, _
ByVal FilePath As String, _
ByVal Delimiter As String)
' Exports the source worksheet as a text file with a custom field delimiter.
' ExportWorksheetWithCustomDelimiter(SourceWorksheet, FilePath, Delimiter)
' SourceWorksheet - The name of or a reference to a worksheet.
' FilePath - The full path to the export file.
' Delimiter - One or more characters to use as the field delimiter.
Dim DisplayAlerts As Boolean
Dim FileNumber As Long
Dim FileData As String
If VarType(SourceWorksheet) = vbString Then SourceWorksheet = ActiveWorkbook.Sheets(SourceWorksheet).Name
' Create copy of source worksheet in new workbook
Sheet1.Copy
' Save copy as tab delimited text file and close
DisplayAlerts = Application.DisplayAlerts
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs FileName:=FilePath, FileFormat:=xlText
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = DisplayAlerts
' Read file into string variable and delete file
FileNumber = FreeFile
'Open FilePath For Binary Access Read Write As FileNumber
Open FilePath & ".txt" For Binary Access Read Write As FileNumber
FileData = StrConv(InputB(LOF(FileNumber), FileNumber), vbUnicode)
Close FileNumber
Kill FilePath & ".txt"
' Replace all tabs with special character
FileData = Replace(FileData, Chr(9), Delimiter)
' Right modified text back out to same file
Open FilePath For Binary Access Read Write As FileNumber
Put FileNumber, , FileData
Close FileNumber
End Sub
上のマクロの実行後の結果は次と同じです。
エクセル2002からマクロの実行結果:AAA;BBB;CCC;DDD;EEE;FFF
エクセル2003からマクロの実行結果:AAA BBB CCC DDD EEE FFF
解決方法を教えてください。
ぜひよろしくお願いします。
ありがとうございます。