ですから、これは私が以前に尋ねた質問のより洗練されたバージョンです。私はかなり前からこれを整理しようとしてきました。意味のあるサイトを見つけましたが、どういうわけか実装できません。Excelの情報(表、グラフ、範囲など)をOutlookの電子メールの本文にコピーできるようにしたいだけです。
ここから:http: //pastebin.com/4VWmcrx6
それは示唆しています:
Using VB.NET to copy Excel Range (a table) to body of Outlook email
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
私はそれのいくつかのバリエーションを試しましたが、運がありませんでした。
Imports System.Data
Imports System.IO
Imports Microsoft.Office.Interop
Imports Office = Microsoft.Office.Core
Imports xlNS = Microsoft.Office.Interop.Excel
Imports System.Runtime.InteropServices
Imports System.Net.Mail
Imports excel1 = Microsoft.Office.Interop.Excel
Imports word1 = Microsoft.Office.Interop.Word
Imports outlook1 = Microsoft.Office.Interop.Outlook
Module Module1
Sub Main()
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
Dim application As New Outlook.Application
Dim mail As Outlook.MailItem = CType(application.CreateItem(Outlook.OlItemType.olMailItem), Outlook.MailItem)
Doc = Application.ActiveInspector.WordEditor
wdRn = Doc.Range
Xl = GetObject("C:\Users\ajohnson\Desktop\Book1.xlsx", "Excel.Application")
Ws = Xl.Workbooks("Book1").Worksheets(1)
xlRn = Ws.Range("a1", "d2")
xlRn.Copy()
With mail
.Body = wdRn.Paste() & vbCr & wdRn.Paste()
End With
End Sub
End Module
それほど難しいことではないようで、何が起こっているのかについては合理的な考えがありますが、何を試してもうまくいきません。そのコードはcom例外をスローします
Doc = Application.ActiveInspector.WordEditor
また、与えられたコードを使用してみましたが、アプリケーションが未定義であると表示されます。
どんな助けでも大歓迎です、いつものようにありがとう。
後世のために(私はこの質問をいたるところに見ます):@ Siddharth Routからの解決策は間違いなく機能しますが、ブラックベリーで切り捨てられないようにしようとしている場合(実際に出てくる、私は誓います)、より良いアプローチがありますコメントで見つかりました。
Sub Export_Range_Images()
' =========================================
' Code to save selected Excel Range as Image
' =========================================
Dim oRange As Range
Dim oCht As Chart
Dim oImg As Picture
Set oRange = Range("A1:B2")
Set oCht = Charts.Add
oRange.CopyPicture xlScreen, xlPicture
oCht.Paste
oCht.Export FileName:="C:\temp\SavedRange.jpg", Filtername:="JPG"
End Sub
これは、ここから次のようになります。
.HTMLBody="< img src='C:\Temp\logo.jpg'>" & vbCr & "< img src='C:\Temp\logo.jpg'>"
ここから。
興味のある範囲/テーブルの.jpgファイルを作成し、htmlを使用してそれらを電子メールの本文に入れるという考え方です。これらの2つのアプローチの間で、それを機能させることができるはずです。