将剪贴板内容(表)粘贴到HTML正文

时间:2019-08-17 12:29:44

标签: excel vba ms-word thunderbird

我需要将表内容复制到电子邮件中。使用的邮件客户端是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天,但未成功:-(

0 个答案:

没有答案