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

Access 2010 VBA文本框内容输出文件的格式修正问询

Access 2010 VBA:输出文本到文件时去除引号并仅保留第一行

你的问题根源在于两个细节:一是Write #1语句会自动给字符串套双引号,二是原文本里的换行符被Write额外处理了。这里给你针对性的修改方案,直接解决问题:

1. 替换Write #1为Print #1

Write语句的设计初衷是输出带格式的数据(比如给字符串加引号、自动处理分隔符),而Print会直接输出原始文本,不会额外添加任何格式符号,刚好匹配你的需求。

2. 提取文本的第一行内容

原文本包含CRLF换行符,我们需要截取第一个换行符之前的内容,确保只输出第一行。可以用InStr定位换行符位置,再用Left截取,同时加个判断避免没有换行符时出错。

修改后的完整代码如下:

Private Sub ProcessButton_Click()
 MsgBox ("Into Process Button Click")
 ' Assign found line to variable
 Dim Outline As String
 Dim lineBreakPos As Integer
 
 ' 提取第一行内容
 Outline = Me.TextboxFound.Value
 lineBreakPos = InStr(Outline, vbCrLf)
 If lineBreakPos > 0 Then
    Outline = Left(Outline, lineBreakPos - 1)
 End If
 
 'Save record to file
 strFile_Path = OutputFile
 Open strFile_Path For Append As #1
 Print #1, Outline ' 用Print代替Write,避免添加引号
 Close #1
 
 ' Update db table
 ' Clear Fields
 Me.TextBoxPod.Value = Null
 Me.TextBoxDate.Value = Null
 Me.TextboxFound.Value = Null
 Me.TextBoxPod.SetFocus
End Sub

改动说明

  • 用Print #1替代Write #1:彻底解决双引号自动添加的问题,输出的就是你需要的原始文本。
  • 第一行提取逻辑:通过InStr找到第一个vbCrLf的位置,截取之前的内容;如果文本里没有换行符,就直接用原内容,不会触发错误。

这样修改后,输出到文本文件的内容就会是10101010102 LINE1 DATA(不带引号,且只保留第一行),完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:28:42