2016-10-26 7 views
1

私が探しているものに近い多くの回答を読んだが、それは自分のコードではうまくいかない。作成したWord文書をOutlookメッセージに添付する

これはかなり基本的な質問ですが、私は誰かがこれを見て、私のエラーをすばやく見ることができると考えています。

私はExcelを使用してWord Docを作成しています。このWord Docは、現在の日付で名前が付けられたフォルダのユーザーデスクトップに保存されます。

すべてがうまくいきますが、今私がしようとしているのは、WordのドキュメントにExcelワークシートのセルである文字列 "IRN"の名前を追加することだけです。

また、作成したWord文書をOutlookメッセージに添付する必要があります。

身体は重要ではないので、私はコードのイントロと終わりを含めます。

Sub TDOutlook() 

Dim TD As Word.Application 
Dim Doc As Word.Document 
Dim path As String 
Dim filename As String 
Dim StudentName As String 
Dim StudentAddress1 As String 
Dim City As String 
Dim MrMrs As String 
Dim StudentLast As String 
Dim IRN As String 
Dim CourseReq As String 
Dim CourseName As String 
Dim CourseStart As String 
Dim Cost As String 
Dim Deferred As String 
Dim Graphic As String 
Dim Footer1 As Word.Range 
Dim Body As Word.Paragraph 
Dim OutApp As Outlook.Application 
Dim objOutlookMsg As Outlook.MailItem 

path = Environ("USERPROFILE") & "\Desktop\" & Format(Now, "mm-dd-yyyy") 
    On Error Resume Next 
    MkDir path 
    On Error GoTo 0 

'Outlook 
Set OutApp = CreateObject("Outlook.Application") 
Set objOutlookMsg = OutApp.CreateItem(olMailItem) 

objOutlookMsg.SentOnBehalfOfName = "[email protected]" 
objOutlookMsg.Subject = "FinServ-TD" 
objOutlookMsg.HTMLBody = "Testing this macro" & vbCrLf & vbCrLf 


'Display Outlook 
objOutlookMsg.Display 

'Opens Word 
Set TD = CreateObject("Word.Application") 

'Displays the document 
TD.Visible = False 

'Add New Document 
Set Doc = TD.Documents.Add 

filename = path & "\TD" '& IRN 
Doc.SaveAs filename 

'Attach Word to Outlook 
objOutlookMsg.Attachments.Add Doc.filename <----This is broken 

Doc.Close 

TD.Quit 

'Application.ScreenUpdating = True 

End Sub 
+0

てみファイル名=パス& "TD" &シート( "シート1")に、この

objOutlookMsg.Attachments.Add Doc.filenameを変更します。範囲( "A1" )。テキスト - IRNがセルA1にあると仮定して – 0m3r

+0

セル値を使用してIRNを保存する方法を参照してください。http://stackoverflow.com/a/30393989/4539709 – 0m3r

+0

Om3rありがとう、私はテキストには含めませんでしたが、 IRNはshの特定のセルに設定されましたしかし、それは何らかの理由でファイル名には含まれませんでしたが、あなたのようにセルに直接リンクすると完全に動作しました。偶然私のオープンなOutlook電子メールに添付ファイルとしてdocという言葉を追加する方法を知っていますか? –

答えて

1

すべてが完璧に動作しますが、今私がやろうとしていますすべては、Word文書にExcelワークシートのセルである文字列「IRN」の名前を追加することです。

セル値がこの

FileName = Path & "\TD" & Sheets("Sheet1").Range("A1").Text & ".docx"

を試してみてください取得するに私はまた、Outlookのメッセージに作成されたWord文書を添付する必要があります。添付保存されたファイルに

、この ObjOutlookMsg.Attachments.Add (FileName)

+1

遅れて申し訳ありません。私は両方の側面を動かすことができました。すべてのあなたの助けをありがとうOm3r! –

関連する問題