首页 > 解决方案 > 多行文本框到 Excel 错误粘贴到 Outlook HTML

问题描述

我有一个带有文本框的 VBA 用户窗体,它接受带有 Enter 的多行。之后,我的代码会将插入的数据从此 TextBox 复制到 Excel 单元格中,其中文本为 WordWrap(接受多行)。最后,使用带有 RangetoHTML 的“Ron de Bruin”代码,将 Excel 表单复制到 HTML 电子邮件中 ​​( https://www.rondebruin.nl/win/s1/outlook/bmail2.htm )。除此 TextBox 外,所有包含一行的 excel 单元格都正确复制到 HTML 电子邮件中,因为我注意到它包含 Multiline 或 WordWrap,并且在每一行末尾都添加了 CrLf 代码(见下文)。

TextBox value:

line1
line2

line3
line4


Excel Cell result where TextBox is copied:

line1
line2

line3
line4


Excel Cell copied into HTML email:

line1

        <===== Cr+Lf are automatically added
line2

        <===== Cr+Lf are automatically added
line3

        <===== Cr+Lf are automatically added
line4

        <===== Cr+Lf are automatically added

从上面可以看出,当带有 WordWrap 的 Excel 单元格被复制到 HTML 电子邮件中时,每行都会添加 Cr+Lf。怎么可能只删除添加的 Cr+Lf 以获得原始格式化文本?

我已经尝试使用 Outlook 中出现的“选择性粘贴”中的所有不同选项,但都不起作用。唯一可以正常工作的是选择性粘贴“图片增强图元文件”,但是在我需要将 Excel 存在的数据复制并粘贴到电子邮件中之后,无法使用此选项。

你能建议任何其他技巧吗?

已经在 Outlook 中尝试了所有“选择性粘贴”选项,但没有目标。

将复制的 excel 多行自动换行单元格正确复制到 HTML 电子邮件中,而无需在每一行添加新的 Cr+Lf 字符。

标签: excelvbaoutlook

解决方案


@Samuel,我可以分享代码,但它很长。VBA 基于 UferForm,其中客户端将数据插入简单的单行 TextBox 被迫使用 ListBox,最后是 TexBox(多行),它可以在其中添加没有字符限制的描述。之后,数据被正确地复制到 Excel 中(因为我需要它),如果客户选择直接粘贴到 HTML Outlook 电子邮件中并发送。从 Excel 到 HTML 电子邮件,我使用 Ron de Bruin https://www.rondebruin.nl/win/s1/outlook/bmail2.htm中的代码使用 RangetoHTML 方法 您可以轻松地重现我的问题,即创建一个带有多行条目(Alt+Enter)的简单 Excel 单元格,然后复制并粘贴到 Outlook HTML 电子邮件中。Outlook粘贴将所有回车符(Alt + Enter)解释为双回车,因此初始格式消失了。其他粘贴特殊方法没有用,因为我需要从电子邮件中的此单元格复制和粘贴数据。

以下是复制和粘贴多行时从 Excel 到 HTM 电子邮件的示例:

插入用户窗体的输入数据

数据从用户窗体复制到 Excel

从 Excel 选择性粘贴错误地到 HTML 电子邮件


推荐阅读