You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Outlook宏向CSV追加内容未换行问题求助

解决Outlook宏追加CSV内容到同一行的问题

问题根源是手动编辑CSV后,文件末尾没有留下换行符,导致宏的Print语句直接接在最后一行内容后面输出。下面是两种可靠的解决方法:

方法一:自动检查并补全文件末尾的换行

通过二进制模式读取文件最后一个字符,判断是否为换行符,若不是则先补换行,再追加内容:

strFile_Path = "C:\Users\XX\Desktop\test.csv"
Open strFile_Path For Binary As #1
Dim lastChar As String
' 仅当文件不为空时检查最后一个字符
If LOF(1) > 0 Then
    Get #1, LOF(1), lastChar
    ' 兼容Windows(vbCrLf)和Unix(vbLf)换行格式
    If lastChar <> vbLf And lastChar <> vbCr Then
        Open strFile_Path For Append As #2
        ' 输出空行自动添加换行符
        Print #2,
        Close #2
    End If
End If
Close #1

' 正常追加内容
Open strFile_Path For Append As #1
Print #1, sbjt & ";0"
Close #1

方法二:根据文件状态前置换行

先判断文件是否为空,若非空则先输出换行,再写入内容:

strFile_Path = "C:\Users\XX\Desktop\test.csv"
Dim fileContent As String
' 读取文件内容判断是否为空
Open strFile_Path For Input As #1
If LOF(1) > 0 Then
    fileContent = Input(LOF(1), 1)
End If
Close #1

Open strFile_Path For Append As #1
' 文件非空时先加换行
If fileContent <> "" Then
    Print #1,
End If
Print #1, sbjt & ";0"
Close #1

注意:Write语句会自动给字符串添加双引号,这是它的标准CSV格式化行为,如果你不需要双引号,继续用Print即可。

内容的提问来源于stack exchange,提问作者st_user_321122

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 00:52:07