繁体   English   中英

如何格式化电子邮件正文

[英]How to format the body of email

我们运行一个SQL查询并将结果粘贴到sheet1中,然后将结果数据转置到sheet2中,然后通过电子邮件将sheet2数据发送给某人。

我已经为上述任务编写了vba代码,但是我没有得到这些所需的结果:

  • 不需要换行符,如下面的屏幕截图所示
  • 需要删除电子邮件正文中两个句子之间的空格vbtab
  • 电子邮件格式应为纯文本

是否可以通过VBA代码自动运行SQL查询? 如果是,请提出建议。

下面是我的代码

Option Explicit

Sub sendemail_excel()

Sheet2.Cells.Clear
Worksheets("sheet1").Activate

    Range("A1").Activate  

Do Until ActiveCell.Value = ""
    Sheet1.Activate
    ActiveCell.Offset(1, 0).Select
    Range(ActiveCell, ActiveCell.End(xlToRight)).Copy
    Worksheets("Sheet2").Activate
    Range("B" & Rows.Count).End(xlUp).Select
    ActiveCell.Offset(2, 0).PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, Transpose:=True, skipblanks:=True
    'ActiveCell.PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, Transpose:=True, skipblanks:=True

   'ActiveCell.Offset(1, 0).Activate
    'Range("B1").Select
    'ActiveCell.End(xlDown).Activate
    'ActiveCell.Offset(2, 0).Activate

    Range("B" & Rows.Count).End(xlUp).Offset(-2, 0).NumberFormat = "M/D/YYYY H:MM:SS AM/PM"
    Range("B" & Rows.Count).End(xlUp).Select
    ActiveCell.Offset(-4, -1).Value = "FEEDFILENAME="
    ActiveCell.Offset(-3, -1).Value = "RECIPIENT="
    ActiveCell.Offset(-2, -1).Value = "PROCESSEDTIME="
    ActiveCell.Offset(-1, -1).Value = "PROCESSSTATUS="
    ActiveCell.Offset(0, -1).Value = "NUMBEROFROWS="
     Worksheets("sheet1").Activate
    Loop

    Columns.AutoFit
    Range("B:B").HorizontalAlignment = xlLeft
    Application.ScreenUpdating = False
    Application.CutCopyMode = False
    Range("B" & Rows.Count).End(xlUp).Select
    ActiveCell.Select^
    Range(Selection, Cells(3, 1)).HorizontalAlignment = xlLeft

    Sheet2.Activate 
Range("B" & Rows.Count).End(xlUp).Select
    ActiveCell.Select

    Range(Selection, Cells(3, 1)).Select
ActiveWorkbook.EnvelopeVisible = True

    With ActiveSheet.MailEnvelope
      .Introduction = "Hi abc Team - This is the confirmation mail regarding the files, which xyz" & " " & Date - 1
      .Item.To = "chinnolamanohar@gmail.com"
      .Item.CC = "chinnolamanohar@gmail.com"
      .Item.Subject = "Confirmation for earnings feed from abc equity research to xyz"
      .Item.Send
   End With

    End Sub

您可以直接对数据库运行查询,在线可以找到许多文档。 您的连接字符串将因数据库类型而异-MSSQL,MySQL等。

在Excel-VBA中访问SQL数据库 https://www.ptr.co.uk/blog/using-excel-vba-query-sql-server-database

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM