2014-02-10 4 views
0

Я пишу запрос VBA, который автоматически отправляет электронное письмо при нажатии кнопки в слове. Я также хотел бы, чтобы он прикреплял определенный файл. Однако проблема заключается в том, что файл, к которому он должен прикрепляться, имеет имя, в котором есть элемент, который изменяется (например, report + weeknr, изменение даты).Присоединение файла с меняющимся именем

Но поскольку я также включаю неделю в тему письма (например, «Subject: report + weeknr»), хотя я мог бы автоматизировать прикрепление документа, создав переменную, которая является результатом отчета + weeknr. Однако он не работает. Кто-нибудь знает, как я могу заставить это работать? Смотрите ниже код:

Sub Sendmessage() 


Dim OutApp As Object 
Dim OutMail As Object 
Dim var1 As String 
Dim sentto As Long 

Set OutApp = CreateObject("Outlook.Application") 
Set OutMail = OutApp.CreateItem(0) 


var1 = InputBox("Insert week") 
'Line below is where it goes wrong. Var2 leads to C:\Documents and Settings\aa471714\Desktop\SENS referentenrapportage - week " & var1 & ".ppt 

var2 = "C:\Documents and Settings\aa471714\Desktop\SENS referentenrapportage - week " & var1 & ".ppt" 

    With OutMail 
    .To = "[email protected]; [email protected]" 
    .CC = "" 
    .BCC = "" 
    .Subject = "Report_" & var1 
    .Body = "Text" 
    .Attachments.Add (var2) 
    .Display 
    End With 

    End Sub 
+0

это работает, если вы поставите путь + имя файла в виде строки var2 - не используется var1 - для целей тестирования? – Max

+0

Какова проблема, с которой вы сталкиваетесь? У вас есть сообщение об ошибке или просто нет привязанности? – Max

+0

@Max, да. Но я уже решил это. Нужно было определить var1 как long вместо строки. Теперь это работает. Спасибо за ваш вклад, ребята! – user181796

ответ

0
Sub Sendmessage() 


Dim OutApp As Object 
Dim OutMail As Object 
Dim var1 As String 
Dim sentto As Long 

Set OutApp = CreateObject("Outlook.Application") 
Set OutMail = OutApp.CreateItem(0) 


var1 = InputBox("Insert week") 
'Line below is where it goes wrong. Var2 leads to C:\Documents and Settings\aa471714\Desktop\SENS referentenrapportage - week " & var1 & ".ppt 

var2 = "C:\Documents and Settings\aa471714\Desktop\SENS referentenrapportage - week " & var1 & ".ppt" 

With OutMail 
.To = "[email protected]; [email protected]" 
.CC = "" 
.BCC = "" 
.Subject = "Report_" & var1 
.Body = "Text" 
.Attachments.Add (var2) 
.Display 
End With 

End Sub 
Смежные вопросы