从excel复制到word时转换行结尾

时间:2014-11-20 05:10:29

标签: excel ms-word line-endings

从Excel复制到Word时,是否有一种优雅/正确的方法来处理CRLF行结尾?

我们在数据库中存储了一些文本,这些文本使用\r\n(即CRLF)来表示新行。我们使用工具 [1] 来查询数据库并将值拉入Excel。它在Excel中看起来很好,但是如果我们将一个单元格复制到Word中,则有两个换行符,其中应该只有一个。

例如,字符串This is line #1\r\nThis is line #2.在excel中看起来很好,但如果我们从Excel复制并粘贴到Word中,则它的长度为3行。

我有一个删除CR的宏,但它有点讨厌,如果有更好的解决方案,我宁愿不把它推给所有用户。

Sub UpdateLineEndings()
'
' UpdateLineEndings Macro
'
ActiveCell.Value = Replace(Selection.Text, vbCr, "")

End Sub

[1]我们正在使用Sharperlight,但我确信那里有很多类似的工具。

1 个答案:

答案 0 :(得分:0)

感谢@ tim-williams我一直希望有一种方法可以在复制/粘贴时执行此操作(有点像"仅保留文本"选项)。

正如你所说,我必须在某个地方进行替换,最后我在Sharperlight数据模型的SQL中进行了替换。该列是文本,因此我将其转换为varchar,然后进行替换。

REPLACE(CAST({_Table.Alias}.COMMENTS as varchar(MAX)), CHAR(13)+CHAR(10), CHAR(10))

如果您想将评论作为答案,我很乐意将其标记为正确。