首页 > 解决方案 > 如何在不输入 EXCEL VBA 的情况下发送“输入”字符?

问题描述

我需要创建一个宏来编写一个 .txt 文件并将其发送到我们的服务器,但如果行尾有一个“enter”(字符 10)字符,我们的服务器只能识别一个新行。但是每次我在行尾写 chr(10) 时,它都会创建一个新行并在下一行写宏,就像

示例(输入此处发送的字符)
<---- new line
Next content

但是如果它之前的行是空的,服务器将不会识别下一个内容,它必须像

示例(输入此处发送的字符)
下一个内容

到目前为止,我有这个来写 .txt 文件

Private Sub E16_Click()
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Dim f As Object
Dim order
pedido = Sheets("EDI").Range("I2")
Set f = fs.OpenTextFile("c:\" & IIf(Range("AA24") = 2, "temp\", "") & "pc" & order & ".txt", 2, True)

f.writeline "ITP" & Sheets("EDI").Range("C2") & Sheets("EDI").Range("J2") & Sheets("EDI").Range("L2") & WorksheetFunction.Rept(" ", 75) ' **Enter character must be sent here**
f.writeline Sheets("EDI").Range("M2") ' **Enter character must be sent here**
f.writeline "AE3" & Sheets("EDI").Range("J2") & "04771370000183" & Sheets("EDI").Range("J2") & WorksheetFunction.Rept(" ", 83) ' **Enter character must be sent here**

无论如何发送输入字符而不创建新行?我尝试将 Enter 字符格式化为文本但没有用

标签: excelvba

解决方案


我认为你的问题是你正在使用f.writeline而不是f.write

https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/write-method


推荐阅读