2012-03-27 139 views
0

這很接近很多不同的問題,並且我已經經歷了所有問題,但我無法完全理解最好的方法。使用VB.NET將Excel範圍(表格)複製到Outlook電子郵件正文

這是我讀過什麼(試過)至今:

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的文檔文檔(至少它沒有按照他們的方式工作),但是當我這樣做時,我沒有收到任何數據(說什麼都不粘貼),這對我來說似乎是正確的,因爲我從來沒有把它定義爲任何東西。

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

我也碰到過這種解決辦法,這是我期待到現在,但我希望得到現在這個貼,看看是否有人有任何想法和可能能夠指導我更好的路徑。

我可以按照要求發佈我的代碼,但它實際上只是這些鏈接中的內容的變體,並且試圖讓它在vb.net中工作。我想一個選擇是切換到VBA,但我喜歡VB.NET可以是獨立的,更容易找到我的同事。

謝謝Stack Overflow!

回答

0

最後我切換到使用.htmlbody結合所有的表格轉換爲圖像文件,這使我可以保存它們並輸入<img src>,所以html保存了一天。額外的好處是,圖像將充分顯示,而不會截斷黑莓,這是我遇到的另一個問題。

相關問題