這很接近很多不同的問題,並且我已經經歷了所有問題,但我無法完全理解最好的方法。使用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://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!