【问题标题】:Using VB.NET to copy Excel Range (a table) to body of Outlook email使用 VB.NET 将 Excel 范围(表格)复制到 Outlook 电子邮件的正文
【发布时间】:2012-03-27 17:39:13
【问题描述】:

这接近于许多不同的问题,我已经解决了所有问题,但我无法确定最佳方法。

这是我迄今为止阅读(并尝试过)的内容:

http://msdn.microsoft.com/en-us/library/ff519602%28v=office.11%29.aspx

http://social.msdn.microsoft.com/Forums/en-US/exceldev/thread/955fca20-c3a3-4523-b2d2-ac9016ae1ff8

我尝试将 RangetoHTML 函数转换为 vb.net,但我从来没有真正让它工作,所以如果有人有任何关于让这个解决方案工作的提示,我希望你有任何指导。我直接从第二个链接复制了代码并对其进行了更改,因此我认为它会起作用,但我在其中一个 pastespecial 调用中不断收到 COM 异常。

http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/9d9e1583-064a-4085-bc65-8f809d73dbb3

http://social.msdn.microsoft.com/Forums/en-US/outlookdev/thread/5248288a-0f86-4fe7-8235-2ccb85d2b014/#c50e51e1-87c2-4af9-9195-e0c61eb32bc8

http://www.vboffice.net/sample.html?mnu=2&lang=en&smp=41&cmd=showitem&pub=6

在这里,他们建议使用 Word 作为停止点(或作为 Outlook 中的编辑器,这是我的 Outlook 版本的默认设置),这是合理的,但我一直遇到问题,这里到底发生了什么:

Sub CopyFromExcelIntoEMail()
Dim Doc As Word.Document
Dim wdRn As Word.Range
Dim Xl As Excel.Application
Dim Ws As Excel.Worksheet
Dim xlRn As Excel.Range

Set Doc = Application.ActiveInspector.WordEditor
Set wdRn = Doc.Range

Set Xl = GetObject(, "Excel.Application")
Set Ws = Xl.Workbooks("Mappe1.xls").Worksheets(1)

Set xlRn = Ws.Range("b2", "c6")
xlRn.Copy

wdRn.Paste
End Sub

要让它在 vb.net 中工作,我想我必须打开一个不是 activeinspector.wordeditor 的 word 文档(至少它不像他们那样工作),但是当我这样做时,我没有得到wdRn.paste 调用中的任何数据(说什么都没有粘贴),这对我来说似乎是正确的,因为我从未将它定义为任何东西。

http://www.outlookcode.com/d/code/htmlimg.htm

我也遇到了那个解决方案,我现在正在研究这个解决方案,但我想现在发布这个帖子,看看是否有人有任何想法并可能能够引导我走上更好的道路。

我可以按要求发布我的代码,但它实际上只是这些链接中的内容的变体,并试图让它在 vb.net 中工作。我想一个选择是切换到 VBA,但我喜欢 VB.NET 可以是独立的,并且更容易与我的同事联系。

谢谢堆栈溢出!

【问题讨论】:

    标签: .net vb.net excel email outlook


    【解决方案1】:

    最后我切换到使用.htmlbody 结合将所有表格转换为图像文件,这使我可以保存它们并使用<img src> 输入它们,因此html 节省了一天。额外的好处是图像将在黑莓上完全显示而不会被截断,这是我遇到的另一个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多