2016-12-16 19 views
0

特定の顧客にカスタマイズされたクリスマスの挨拶を送信するように割り当てられています。しかし、これらの挨拶は100年代にあり、それを自動的に行うことで時間が節約できます。これらの挨拶は毎年行われます! 、顧客名が列Aに記載されているExcelでExcel VBA個別の画像を電子メール連絡先リストに埋め込む

、列B内の個々の電子メール、および列C.

内の個々のカスタマイズされたグリーティングファイルへのパス私は現在、発見したことはそのVBAコードでありますこれらのファイルを個々の電子メールへのパスを介して添付(ただし埋め込み)することはできません。

誰かが私に説明したり、C列で見つかった添付ファイルを埋め込む方法を示してもらえますか?

ありがとうございました!

私が今持っていることは以下の通りです:

Sub Send_Files() 
'Working in Excel 2000-2016 
'For Tips see: http://www.rondebruin.nl/win/winmail/Outlook/tips.htm 
    Dim OutApp As Object 
    Dim OutMail As Object 
    Dim sh As Worksheet 
    Dim cell As Range 
    Dim FileCell As Range 
    Dim rng As Range 

    With Application 
     .EnableEvents = False 
     .ScreenUpdating = False 
    End With 

    Set sh = Sheets("Sheet1") 

    Set OutApp = CreateObject("Outlook.Application") 

    For Each cell In sh.Columns("B").Cells.SpecialCells(xlCellTypeConstants) 

     'Enter the path/file names in the C:Z column in each row 
     Set rng = sh.Cells(cell.Row, 1).Range("C1:Z1") 

     If cell.Value Like "?*@?*.?*" And _ 
      Application.WorksheetFunction.CountA(rng) > 0 Then 
      Set OutMail = OutApp.CreateItem(0) 

      With OutMail 
       .to = cell.Value 
       .Subject = "Merry Christmas!" 
       .Body = "Merry Christmas!" 

       For Each FileCell In rng.SpecialCells(xlCellTypeConstants) 
        If Trim(FileCell) <> "" Then 
         If Dir(FileCell.Value) <> "" Then 
          .Attachments.Add FileCell.Value, olByValue, 0 
         End If 
        End If 
       Next FileCell 

       .Send 'Or use .Display 
      End With 

      Set OutMail = Nothing 
     End If 
    Next cell 

    Set OutApp = Nothing 
    With Application 
     .EnableEvents = True 
     .ScreenUpdating = True 
    End With 
End Sub 
+0

のようなものをHTML形式の電子メールを使用して行うことができます –

+0

@Nat私の愚かさを許しますが、どこに行くのですか?あまりにも厳しくない場合は、コードに書き込んでコピーできるようにしてもよいでしょうか。 (これは初めてVBAを使用しています)。 – Hans

+0

@ Nathan_Sav、私はあなたに間違ったタグを付けました – Hans

答えて

1

あなたがちょうどcell.offset(0,1)であることをfilecell設定する必要があり、

Set o = Application.CreateItem(olMailItem) 
o.BodyFormat = olFormatHTML 
o.HTMLBody = "<img src='C:\Users\Pictures\a1.png'>" 
o.Display 
+0

ありがとうございます、しかし、これは私が上に書いたコードにどこに合っていますか? – Hans

関連する問題