Excel VBA打印添加新行

Excel VBA打印添加新行,excel,vba,printing,Excel,Vba,Printing,几个月前,我为我的公司写了一个小型Makro,到目前为止,它工作得还不错。 最近(可能是因为我们更新了Office版本)出现了一个错误,excel在打印语句中添加了一行新行 代码: 用于为我提供以下输出: 22 S ***/***s 9932256 B*****t Fatma

几个月前,我为我的公司写了一个小型Makro,到目前为止,它工作得还不错。 最近(可能是因为我们更新了Office版本)出现了一个错误,excel在打印语句中添加了一行新行

代码:

用于为我提供以下输出:

22 S ***/***s                     9932256                     B*****t                                         Fatma                                        811                 R******r Alexander                 27.12.2019
22 S ***/***s                     9932256                     B*****t                                         Fatma                                        811                 R******r Alexander                 
                   27.12.2019
现在给我这个输出:

22 S ***/***s                     9932256                     B*****t                                         Fatma                                        811                 R******r Alexander                 27.12.2019
22 S ***/***s                     9932256                     B*****t                                         Fatma                                        811                 R******r Alexander                 
                   27.12.2019
如您所见,excel添加了一个换行符

谁能告诉我这里发生了什么事

编辑:

解决方案:

Excel在使用以下命令后添加新行:

user=Application.UserName

也许这是因为我们的办公室更新。因此,我只需使用子字符串并剪切最后一个字符,现在就可以正常工作。

在文档中声明用户名时返回。实际上,
Read/write
确实可以得到一个包含
vbLf
vbCrLf
的用户名。请看下面的示例

Sub UserName_VbCrlf()
    Dim origUser As String
    Dim user As String

    ' Be careful when testing as it replaces your username!!
    ' Maybe you save it first
    origUser = Application.UserName

    Application.UserName = "Storax" & vbLf & "Home adress"
    user = Application.UserName

    ' This will give different lengths
    Debug.Print Len(user), Len(Replace(user, vbLf, ""))

    ' Restore original username
    Application.UserName = origUser

End Sub

输出字符串的长度是多少?你们如何定义新线?
outputString
中是否有
vbCrLf
vbLf
?您显示的输出来自哪个输出设备?请同时显示用于打印
outputString
的语句。不,我不使用任何语句。字符串的长度也不是问题所在。当然,这些是我检查的第一件事。Excel在Application.UserName之后添加新行,您知道如何删除新行吗?然后再次问:如何定义新行
Application.Username
返回一个字符串,其结尾不带
vbCrLf
vbLf
。因此,我认为
Replace(user,vbLf,“”)
Replace(user,vbCrLf,“”)
对您没有帮助,但您可以尝试一下。老实说,我觉得无视我的问题有点冒犯。对不起,我有点生气,因为在我看来这是一个愚蠢的问题。我找到了解决方案:(可能是因为Office更新)Application.UserName函数现在在末尾添加了一个新行。因此,我采取了子字符串和削减新线。现在一切正常。非常感谢您的帮助,如果您找到了解决方案,请再次表示歉意。如果能够共享修复程序,以便其他人能够避免此类错误,那就太好了。我不认为
Application.UserName
添加了一个新行,即vbCrlf或vbLf。你有什么新产品?