Tim*_*Tim 2 file-io vba filesystemobject
这看起来很容易(我已经完成了一百万次,从来没有遇到过问题),但这让我很伤心.
我想根据Excel电子表格中的内容创建一些SQL脚本.为此,我创建了一个使用以下代码读取文本文件的宏
Dim fso As FileSystemObject
Set fso = New FileSystemObject
Dim stream As TextStream
Set stream = fso.OpenTextFile(filepath, 8, False)
Run Code Online (Sandbox Code Playgroud)
这应该打开文本文件以追加并插入我的新值.
不幸的是,它总是被覆盖而不是追加,这让我疯狂.
有任何想法吗?
Sco*_*man 10
我刚刚建立了一个函数来将字符串附加到文件中.我在几个星期/几个月前遇到过这个问题,发现如果使用实际的单词ForAppending,就像它在Intellisense中显示的那样,它输入的数字8对我有用.
Const ForAppending = 8
Sub AppendStringToFile(ByVal strFile As String, ByVal strNewText As String, Optional intBlankLine As Integer = 1)
Dim fso as FileSystemObject, ts as TextStream
Set fso = New FileSystemObject
Set ts = fso.OpenTextFile(strFile, ForAppending, True)
With ts
.WriteBlankLines intBlankLine
.WriteLine (strNewText)
.Close
End With
Set ts = Nothing
Set fso = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
回归基础......
Open pathname For mode [Access access] [lock] As [#]filenumber [Len=reclength]
用于您的要求:
Dim FNum As Integer
FNum = FreeFile()
Open strFile For Append As FNum
'do your stuff here
Write #FNum, MyData
Close FNum
Run Code Online (Sandbox Code Playgroud)