我需要将表内容复制到电子邮件中。使用的邮件客户端是Thunderbird。
我做了很多研究,发现不可能将表粘贴到Thunderbird中,只是在工作纯文本时将其粘贴即可。 应该有一个解决方法:1.将表粘贴到Word 2.复制表并将其粘贴到HTML正文中。
不幸的是,我被卡住了。如何将剪贴板内容粘贴到HTML正文?
我尝试了2种不同的方式。
Sub ExcelToTB()
Dim rangeToCopy As Range
Dim WordApp As Object
Dim objTable As Table
Dim objSourceDoc As Object
Set rangeToCopy = Sheets(2).Range("A1:J150")
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Set objSourceDoc = WordApp.Documents.Add
rangeToCopy.SpecialCells(xlCellTypeVisible).Copy
objSourceDoc.Words(1).PasteExcelTable False, False, False
WordApp.Activate
ActiveDocument.Table(1).Select
此处说明尽管该应用程序已在前一行中激活,但最后一行中没有激活文档。
所以我的第二次尝试是:
Dim rangeToCopy As Range
Dim WordApp As Object
Dim objTable As Table
Dim objSourceDoc As Object
Set rangeToCopy = Sheets(2).Range("A1:J150")
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Set objSourceDoc = WordApp.Documents.Add
rangeToCopy.SpecialCells(xlCellTypeVisible).Copy
objSourceDoc.Words(1).PasteExcelTable False, False, False
For Each objTable In objSourceDoc.Tables
objTable.Range.Copy
Next objTable
Dim TBstart As String
TBstart = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" & _
" -compose format=1,preselectid=id1" & _
",to='test@test.com',subject='Test'" & _
",body='This is just a test'"
Shell TBstart, 3
End Sub
第二次尝试时,表被存储到剪贴板,我可以手动将其粘贴。但是我如何将其植入体内呢?
我尝试过:
TBstart = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe" & _
" -compose format=1,preselectid=id1" & _
",to='test@test.de',subject='Test'" & _
",body='Dies ist eine Testmail'" & objTable
...但随后它指出类型不兼容。
也许你们中的任何人都有解决该问题的想法?我已经测试了3天,但未成功:-(