VBAでFileSystemObjectを使用してcsvファイルを読み書きすることはできますか?FileSystemObjectを使用してcsvファイルを読み書きする
3
A
答えて
10
それは確かにあります。このよう
Set objFSO = CreateObject("scripting.filesystemobject")
'create a csv file
Set objTF = objFSO.createtextfile("C:\test\myfile.csv", True, False)
'open an existing csv file with writing ability
Set objTF = objFSO.OpenTextFile("C:\test\myfile.csv", 8)
として
基本的な構文はCSV
がFSO
で開く/作成されます。
CSV
が、その後objTF =単語集合など
Const sFilePath = "C:\test\myfile.csv"
Const strDelim = ","
Sub CreateCSV_FSO()
Dim objFSO
Dim objTF
Dim ws As Worksheet
Dim lRow As Long
Dim lCol As Long
Dim strTmp As String
Dim lFnum As Long
Set objFSO = CreateObject("scripting.filesystemobject")
Set objTF = objFSO.createtextfile(sFilePath, True, False)
For Each ws In ActiveWorkbook.Worksheets
'test that sheet has been used
Set rng1 = ws.UsedRange
If Not rng1 Is Nothing Then
'only multi-cell ranges can be written to a 2D array
If rng1.Cells.Count > 1 Then
X = ws.UsedRange.Value2
'The code TRANSPOSES COLUMNS AND ROWS by writing strings column by column
For lCol = 1 To UBound(X, 2)
'write initial value outside the loop
strTmp = IIf(InStr(X(1, lCol), strDelim) > 0, """" & X(1, lCol) & """", X(1, lCol))
For lRow = 2 To UBound(X, 1)
'concatenate long string & (short string with short string)
strTmp = strTmp & (strDelim & IIf(InStr(X(lRow, lCol), strDelim) > 0, """" & X(lRow, lCol) & """", X(lRow, lCol)))
Next lRow
'write each line to CSV
objTF.writeline strTmp
Next lCol
Else
objTF.writeline IIf(InStr(ws.UsedRange.Value, strDelim) > 0, """" & ws.UsedRange.Value & """", ws.UsedRange.Value)
End If
End If
Next ws
objTF.Close
Set objFSO = Nothing
MsgBox "Done!", vbOKOnly
End Sub
3
可能性があります。
FileSystemObject(FSO)は、ファイル、ドライブ、テキストストリームなどへのアクセスを提供するWindowsファイルシステムにアクセスするためのAPIを提供します.FSOはMicrosoft Scriptingランタイムに組み込まれており、スタンドアロンVBScriptまたはJScriptを使用しているWebページデザイナや、Visual Basic for Applications(VBA)を使用してMicrosoft Officeアプリケーションのユーザーに配布することができます。
いくつかの参照: -
関連する問題
- 1. csvファイルの読み書き
- 2. CSVファイルを読み込んでCSVファイルに書き込む
- 3. ループを使用して、複数の.csvファイルを読み込み、消去、書き込みする
- 4. fast-csvを使用して[オブジェクトオブジェクト]をcsvファイルに書き込みます。
- 5. Pythonでcsvファイルに辞書を読み書きする
- 6. VBScriptを使用してファイルに読み書きする
- 7. FileSystemObjectを使用してクエリ出力をテキストファイルに書き込む
- 8. FileSystemObject - Unicodeファイルの読み取り
- 9. DictWriterでcsvを読み書きする
- 10. パンダを使用してループ内のCSVファイルを読み取る
- 11. ストリームリーダーをCで使用して.csvファイルを読み取る#
- 12. PHP OOPコンストラクタを使用してCSVファイルを読み取る
- 13. LabVIEWを使用してCSVファイルを読み取る方法は?
- 14. Ajaxを使用してcsv/textファイルを読み取る
- 15. Pythonで日付を扱うcsvファイルを読み書きする
- 16. マルチスレッドを使用したファイル読み込みの書き込み
- 17. PythonでCSVファイルを読み書きする方法
- 18. csvファイルを読み書きするには?
- 19. Swift 3でCSVファイルを読み書きする
- 20. CSVファイルを動的に読み書きするには?
- 21. CSVファイルを辞書に読み込む?
- 22. Pythonを使用したCSVファイルの書き込み?
- 23. jmeter beanshellを使用してcsvファイルを上書きする
- 24. Java NIOを使用して大きなファイルを読み書きする
- 25. io.Pipe()を使用してzipファイルをダウンロードするgolangを読み書きする
- 26. csvファイルの読み書きに適したライブラリですか?
- 27. libhidを使用してUSBに読み書きするとき
- 28. Akkaストリームを使用したCSVファイルの読み込み
- 29. VBA FileSystemObject、特定のファイルを使用してファイルの拡張子
- 30. Pythonを使用してMS Azureからファイルを読み書きする
'、これはExcelの一例ですが、あなたは、Outlook、Accessからレコードを書き込むために同じ技術を使用することができ、それに
を書き込むことによって変更することができますobjFSO.OpenTextFile( "C:\ test \ myfile.csv"、8) 'その行は、選択したフォルダに関係なく、常に** 70 - Permission Denied **エラーが発生しました。それは私が行を削除した後に働いた。 – chiliNUT
コードを実行したときにcsvが開いていましたか? – brettdj
いいえ、最初に作成しようとしていたときでした – chiliNUT