Страницы: 1
RSS
как приаттачить файл в бат?
 
Нужно через бат, послать текущий (открытый) файл.  
У меня создается письмо, с нужной темой...  
Но вот файл не аттачиться.  
хотя в strattach все прописано по уму, если в батнике прописать также, то все работает.  
в чем косяк?  
 
 
 
Sub Send_Mail()  
 
Dim subj, subj1, subj2 As String  
 
Dim lLastRow As Long  
 
Dim OldName As String  
 
OldName = ActiveWorkbook.FullName  
lLastRow = Cells(Rows.Count, 2).End(xlUp).Row  
   
   subj1 = Range("B" & lLastRow).Text  
   subj2 = Range("C" & lLastRow).Text  
     
subj = "(" + subj1 + "/" + subj2 + ")"  
 
Set wsh = CreateObject("WScript.Shell")  
TheBatPath = Chr(34) & "C:\Program Files\The Bat!\thebat.exe" & Chr(34)  
strTO = "TO=" & Chr(34) & "1111@yahoo.ca" & Chr(34)  
 
strsubject = "SUBJECT=" & Chr(34) & subj & Chr(34)  
 
strattach = "ATTACH=" & OldName  
'strattach = "ATTACH=" & Chr(34) & OldName & Chr(34)  
 
Cmd = TheBatPath & " /MAIL;" & strTO & ";" & strsubject & ";" & strattach & ""  
 
wsh.Exec Cmd    
For i = 1 To 30000: DoEvents: Next    
End Sub
 
Обязательно TheBAT использовать?  
http://excelvba.ru/code/CDO  
 
Когда я тестировал этот макрос  
http://www.programmersforum.ru/showpost.php?p=158798&postcount=2  
файлы успешно прикреплялись к письму.  
 
 
Вы же сами закомментировали правильную строку    
strattach = "ATTACH=" & Chr(34) & OldName & Chr(34)  
 
оставив некорректную:    
strattach = "ATTACH=" & OldName  
 
(с такой строкой будут прикрепляться только те файлы, которые в пути (имя папок и файла) не содержат пробелов. С длинной же строкой - можно использовать любые пути)
 
Да, бат использовать обязательно (  
Корректная строчка тоже не аттачит файл (((  
Может гдето кавычки нехватает? или ";" лишняя? )
 
Нашел проблему, незнаю как обойти..  
Проблема в длинных именах файлов и папок (больше 8символов)  
если книгу положить в папку "1" и назвать "1212" то все работает ))))  
Как лечить?
Страницы: 1
Читают тему
Наверх