单元格文本被截断为大约 1390 个字符

纳夫内西

我在这里修改了代码 - https://www.extendoffice.com/documents/excel/3560-excel-send-personalized-email.html

如果单元格中的文本很长,则会被截断。
在此处输入图片说明

我尝试将应用程序时间值增加到 0.20,但没有任何效果。它在同一点被截断了。

#If VBA7 And Win64 Then
    Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                         ByVal hwnd As LongPtr, ByVal lpOperation As String, _
                         ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
                         ByVal nShowCmd As Long) As LongPtr
#Else
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
                         ByVal hwnd As Long, ByVal lpOperation As String, _
                         ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, _
                         ByVal nShowCmd As Long) As Long
#End If

Sub SendEMail()
    Dim xEmail As String
    Dim xSubj As String
    Dim xMsg As String
    Dim xURL As String
    Dim i As Integer
    Dim k As Double
    Dim xCell As Range
    Dim xRg As Range
    Dim xTxt As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range:", "navneesi", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub

    For i = 1 To xRg.Rows.Count
    '       Get the email address
        xEmail = xRg.Cells(i, 1)
    '       Message subject
        xSubj = "Validation Assignment"
    '       Compose the message
        xMsg = ""
        xMsg = xMsg & "Validation Assignment: " & vbCrLf & vbCrLf
        xMsg = xMsg & " Order ID: " & xRg.Cells(i, 2).Text & vbCrLf
        xMsg = xMsg & " Marketplace ID: " & xRg.Cells(i, 3).Text & vbCrLf
        xMsg = xMsg & " Order Day: " & xRg.Cells(i, 4).Text & vbCrLf
        xMsg = xMsg & " Seller ID: " & xRg.Cells(i, 5).Text & vbCrLf
        xMsg = xMsg & " Product Code: " & xRg.Cells(i, 6).Text & vbCrLf
        xMsg = xMsg & " Item Name: " & xRg.Cells(i, 7).Text & vbCrLf
        xMsg = xMsg & " Defect Source: " & xRg.Cells(i, 8).Text & vbCrLf
        xMsg = xMsg & " Defect Day: " & xRg.Cells(i, 9).Text & vbCrLf
        xMsg = xMsg & " Defect Text: " & xRg.Cells(i, 10).Text & vbCrLf
        
    '       Replace spaces with %20 (hex)
        xSubj = Application.WorksheetFunction.Substitute(xSubj, " ", "%20")
        xMsg = Application.WorksheetFunction.Substitute(xMsg, " ", "%20")
    '       Replace carriage returns with %0D%0A (hex)
        xMsg = Application.WorksheetFunction.Substitute(xMsg, vbCrLf, "%0D%0A")
    '       Create the URL
        xURL = "mailto:" & xEmail & "?subject=" & xSubj & "&body=" & xMsg
    '       Execute the URL (start the email client)
        ShellExecute 0&, vbNullString, xURL, vbNullString, vbNullString, vbNormalFocus
    '       Wait two seconds before sending keystrokes
        Application.Wait (Now + TimeValue("0:00:02"))
        Application.SendKeys "%s"
    Next
End Sub
纳夫内西

找到了解决办法。而不是使用Cells(i, 5).Textuse Cells(i, 5).Value这可确保将单元格内容按原样发送到 Outlook,而不是先将其转换为文本,这会引起问题。(问题中的代码也无法呈现中文文本。)

此外,我没有执行邮件到 url,而是包含了 Outlook 的对象库,并为 Outlook 应用程序和邮件项目声明了对象。将 olApp 变暗为 Outlook.Application 将 olMail 变暗为 Outlook.MailItem

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

寻找长度为2个字符或1个字符的单元格

来自分类Dev

连接文本中的单个字符

来自分类Dev

为ord()指定多个字符

来自分类Dev

C ++ AES加密被截断为16个字符

来自分类Dev

将每个单元格中的多个字符串列分解为无序的单个单元格字符串

来自分类Dev

包含88个字符的单元格的字符串的换行

来自分类Dev

在字符串的单元格数组中查找多个字符串的位置

来自分类Dev

确定单元格值的第一个字符是数字还是文本?

来自分类Dev

如果单元格中的第一个字符为“-”,请更改整个行的颜色

来自分类Dev

多个字符串,以80个字符截断行

来自分类Dev

如何将文本行截断为最多N个字符?

来自分类Dev

将字符串截断到X个字符?

来自分类Dev

将字符串截断到X个字符?

来自分类Dev

xs:simpleType限制为长度为n个字符或m个字符的xs:string

来自分类Dev

尝试将多个字符串解析为 1 个字符串

来自分类Dev

单元格数组,向每个字符串添加后缀

来自分类Dev

在表格单元格的边框上放置一个字符

来自分类Dev

在Matlab中合并2个字符单元格数组

来自分类Dev

插入单元格中文件名的前五个字符

来自分类Dev

在单个单元格中处理多个字符串和相应的整数

来自分类Dev

Excel:按范围中的单元格计数多个字符

来自分类Dev

在R中的函数中保留单元格的最后n个字符

来自分类Dev

在单元格中包含一个字符串

来自分类Dev

在单个单元格中处理多个字符串和相应的整数

来自分类Dev

每X个字符在单元格中自动换行

来自分类Dev

JavaScript / GoogleApps 查找表格中包含 28 个字符的每个单元格

来自分类Dev

强制日期单元格保留 10 个字符的日期 ("mm/dd/yyyy")

来自分类Dev

如果单元格包含某个字符串,则删除表格行

来自分类Dev

VBA:单元格值超过256个字符时,单元格功能中的TypeMismatch

Related 相关文章

  1. 1

    寻找长度为2个字符或1个字符的单元格

  2. 2

    连接文本中的单个字符

  3. 3

    为ord()指定多个字符

  4. 4

    C ++ AES加密被截断为16个字符

  5. 5

    将每个单元格中的多个字符串列分解为无序的单个单元格字符串

  6. 6

    包含88个字符的单元格的字符串的换行

  7. 7

    在字符串的单元格数组中查找多个字符串的位置

  8. 8

    确定单元格值的第一个字符是数字还是文本?

  9. 9

    如果单元格中的第一个字符为“-”,请更改整个行的颜色

  10. 10

    多个字符串,以80个字符截断行

  11. 11

    如何将文本行截断为最多N个字符?

  12. 12

    将字符串截断到X个字符?

  13. 13

    将字符串截断到X个字符?

  14. 14

    xs:simpleType限制为长度为n个字符或m个字符的xs:string

  15. 15

    尝试将多个字符串解析为 1 个字符串

  16. 16

    单元格数组,向每个字符串添加后缀

  17. 17

    在表格单元格的边框上放置一个字符

  18. 18

    在Matlab中合并2个字符单元格数组

  19. 19

    插入单元格中文件名的前五个字符

  20. 20

    在单个单元格中处理多个字符串和相应的整数

  21. 21

    Excel:按范围中的单元格计数多个字符

  22. 22

    在R中的函数中保留单元格的最后n个字符

  23. 23

    在单元格中包含一个字符串

  24. 24

    在单个单元格中处理多个字符串和相应的整数

  25. 25

    每X个字符在单元格中自动换行

  26. 26

    JavaScript / GoogleApps 查找表格中包含 28 个字符的每个单元格

  27. 27

    强制日期单元格保留 10 个字符的日期 ("mm/dd/yyyy")

  28. 28

    如果单元格包含某个字符串,则删除表格行

  29. 29

    VBA:单元格值超过256个字符时,单元格功能中的TypeMismatch

热门标签

归档