2017-09-05 6 views
0

enter image description hereエクスポートExcelシートとは、私はレポートの生産と流通のプロセスを自動化しようとしている電子メール(ループ)

として送信します。私がする必要があるのは、リスト(1から20)を通過するマクロを作成し、各行に対して新しいファイル(別のExcelファイル)を作成し、現在のものから2つのタブをペーストします(シート名はJとK列にあります) E列のファイル名の下に保存します。その後、マクロはOutlookを開き、ファイルを添付し、件名、配布リスト、電子メール本文を使用して電子メールを作成します。

しばらく私の頭にぶつかっているので、私は非常に助けていただきたいと思います。


これまで同様の質問がありました。私は、このプロセスのさまざまな部分に対処するコードを組み合わせようとしました。

enter code here 
Sub Create_Files() 

Dim MyDateStr As String 
Dim wkbCurrent As Workbook 
Dim wkbtemp As Workbook 
Dim wkbtemp2 As Workbook 
Dim MyLocation As String 
Dim SheetName As String 

Set wkbCurrent = ActiveWorkbook 
MyDateStr = wkbCurrent.Sheets("Control").Range("F12") 

ChDir "W:\Finance Analysis\Contsys2\DATA\aacorpfinance\_yr 2017\Expense reports\" 
    If Len(Dir(MyDateStr, vbDirectory)) = 0 Then 
    MkDir (MyDateStr) 
End If 

MyLocation = "W:\Finance Analysis\Contsys2\DATA\aacorpfinance\_yr 2017\Expense reports\" 

SheetName = wkbCurrent.Sheets("Emails").Range("C2") 

Set wkbtemp = Workbooks.Add 

wkbCurrent.Sheets(SheetName).Cells.Select 


With wkbtemp 
wkbtemp.Sheets("Sheet1").Range("A1").PasteSpecial 



wkbCurrent.Sheets("M & A").Copy 
wkbtemp2.Sheets("Sheet2").Range("A1").Select 
ActiveSheet.PasteSpecial Paste:=xlValues 

Set wkbtemp = Sheets.Add(After:=Sheets(Sheets.Count)) 

End Sub 

私はループやメールの部分に達していないが、私は、私は基礎として使用しようとしていますことを他の場所で見つかったいくつかのコードを持っている。これまでのところ私は、次があります。

+1

あなたがすでに試したことを私たちに教えてください。そしてそれを一歩一歩してみてください。何十もの類似の質問が以前に尋ねられているので、始めるのに役立つたくさんのコードがあります。 – Luuklag

答えて

0

ここにあなたがすべての行

上のすべてのセルがちょうど

Option Explicit 

Sub exportIntoEmails() 

    Dim rng As Range 

    For Each rng In Range("a1:a20") 

     Debug.Print "file", rng.Columns("b").Value 
     Debug.Print "folder", rng.Columns("d").Value 
     Debug.Print "filename", rng.Columns("e").Value 
     Debug.Print "subject", rng.Columns("f").Value 
     Debug.Print "dist. list", rng.Columns("g").Hyperlinks(1).Address 
     Debug.Print "cc list", Replace(rng.Columns("h").Hyperlinks(1).Address, "mailto:", "") 
     Debug.Print "email body", rng.Columns("i").Value 

     Dim aaa As Range 
     For Each aaa In rng.Columns("j").Resize(1, 2) 
      Debug.Print "attach", aaa.Value 
     Next aaa 

    Next rng 
End Sub 
など、メールを作成するためのルーチンを追加し、添付ファイルを実行し、ファイルを保存して、それがループし

を始めるためにいくつかのコードがあります

関連する問題