1

わかりました、VBA を始めたばかりで、おかしなことが手渡されました。Lotus Notes に配置された Excel のワークシートからグラフを取得しようとしています。リッチテキスト形式 (コメントアウトされた領域からわかるように) と JPEG (私の最近の試みです。メールは問題なく送信されます。本文は想定どおりに送信されます。できません。チャートを電子メールの本文に入れます. これについては本当に助けが必要です. これが私が持っているものです:

    Sub SendEmail()
  ' setting up various objects
    Dim Maildb As Object
    Dim UserName As String
    Dim MailDbName As String
    Dim MailDoc As Object
    Dim Session As Object
    Dim recipient As String
    Dim ccRecipient As String
    Dim bccRecipient As String
    Dim subject As String
    Dim bodytext As String
    Dim User As String
   ' Dim attachMe As Object
   ' Dim Attachment1 As String
   ' Dim EmbedObj1 As Object
   ' Dim Chart1 As Object
    Dim Fname As String




    User = Application.UserName

     ' setting up all sending recipients
    recipient = "Someoneelse@somewhere.com"
     'ccRecipient =Someoneelse@Somewhereelse.com
     'bccRecipient = ""
    subject = "Week-To-Date GM%"
    bodytext = "" & vbLf & _
               "" & vbLf & _
               "Here is a breakdown of your total GM% for this week.  The graph gives you the GM% by day, with a display at the bottom" & vbLf & _
               " that gives you your WTD Margin Percentage.  We will continue to develop this report for you to provide you with better information."




     ' creating a notes session
    Set Session = CreateObject("Notes.NotesSession")
    UserName = Session.UserName
    MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
    Set Maildb = Session.GETDATABASE("", MailDbName)

    If Maildb.IsOpen <> True Then
        On Error Resume Next
        Maildb.OPENMAIL
    End If

    Set MailDoc = Maildb.CreateDocument
    MailDoc.Form = "Memo"

    Fname = Environ$("temp") & "\GM%.jpeg"

    Sheets("Chart").Shapes("Chart 2").Chart.ChartArea.Export Filename:=Fname, FilterName:="JPEG"

     ' loading the lotus notes e-mail with the inputed data
    With MailDoc
        .SendTo = recipient
         '.copyto = ccRecipient
         '.blindcopyto = bccRecipient
        .subject = subject
        .Attachment.Add Fname
        .Body = bodytext
    End With


     ' saving message (Change to True if you want to save it)
    MailDoc.SaveMessageOnSend = False

'        Attachment1 = Worksheets("Chart").Shapes("Chart 2").ChartArea
'    If Attachment1 <> "" Then
'        Set attachMe = MailDoc.CREATERICHTEXTITEM("Attachment1")
'        Set EmbedObj1 = attachMe.EmbedObject(1454, "", Attachment1, "Attachment")
'        MailDoc.CREATERICHTEXTITEM ("Attachment")
'    End If

     ' send e-mail
    MailDoc.PostedDate = Now()
     ' if error in attachment or name of recipients


    MailDoc.Send 0, recipient

    Set Maildb = Nothing
    Set MailDoc = Nothing
    Set attachMe = Nothing
    Set Session = Nothing
    Set EmbedObj1 = Nothing

     'Unload Me
    Exit Sub
End Sub
4

1 に答える 1

3

これは MailDoc.Send の直前に動作するはずです

Dim rtitem As Object
Dim object As Object

Set rtitem = MailDoc.CreateRichTextItem("Attachment1")
Set object = rtitem.EmbedObject ( 1454, "", Fname)
于 2013-02-01T21:02:12.597 に答える