2017年12月20日水曜日

VBA FileSystemObject

★宣言

Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FSO = Nothing

★ファイル確認してから削除

If FSO.FileExists(createName) Then
FSO.DeleteFile createName
End If

'--- 1行表示の判定の書き方
If FSO.FileExists(Target) = True Then: FSO.DeleteFile oFile

★新規ファイル作成

'--- その1
With FSO.CreateTextFile(createName)
.WriteLine "aaa"
.Close
End With

'--- その2
FSO.CreateTextFile FilePath

★書き込み(追記)

'--- その1
With FSO.GetFile(oFile).OpenAsTextStream(8)
.writeLine getJOB(j)
.write trimData    '// 改行なし
.Close
End With

'--- その2
FSO2.GetFile(FilePath).OpenAsTextStream(8).Write buf(i)
FSO2.GetFile(FilePath).OpenAsTextStream(8).WriteLine buf(i)

★読み込み

Infile = Split(FSO.GetFile(File.Path).OpenAsTextStream.ReadAll, vbCrLf)
For i = 0 To UBound(Infile)
next i
FSO.GetFile(File.Path).OpenAsTextStream.Close

★ファイルコピー

'--- 上書き確認なし(存在する場合はエラー)
FSO.CopyFile dataMae, dataAto    

'--- 上書きでファイルコピー
FSO.CopyFile motoName, sakiName, True

★フォルダ内のファイルの探索

For Each objFile In objFSO.GetFolder(Trim(infolderPath)).Files
With objFile
objFile.Path, outfolderPath & "\" & objFile.Name
End With
Next objFile