Страницы: 1
RSS
Автоматизация!!!!
 
Подскажите пожалуйста! Какие примеры и как можно делать автоматизацию в Excel? Что то фантазий у меня не хватает на это!!!
 
{quote}{login=VooDoo}{date=20.04.2010 12:10}{thema=Автоматизация!!!!}{post}Что то фантазий у меня не хватает на это!!!{/post}{/quote}А на такие темы значит хватает?
 
Доброе утро,  
 
Классификация ответов на вопрос "Как?" возможна по разным признакам.  
К примеру, автоматизировать можно самому или наняв кого-нибудь.  
 
Кого-нибудь нанять можно здеся. Посмотреть примеры автоматизации того-сего и учиться можно опять же здесь, просматривая другие темы и задавая вопросы.
 
можно еще в армию по контракту записаться - может быть дадут автомат..
Живи и дай жить..
 
Ну вот, накинулись на человека... Так совсем охоту думать отобъёте, так и будет продолжать на калькуляторе считать и в ячейки результат записывать... Не в обиду автору, но есть и такие "пользователи".  
А по теме вопроса - сделать можно всё (ну разве что Эксель не станцует, но песенку спеть может), но всё зависит от целесообразности затрат усилий на автоматизацию. Разовую сложную задачу бывает проще вручную сделать, а простую, но постоянно исполняемую работу стоит автоматизировать.
 
Применение даже одной самой простой формулы, макроса, - уже есть автоматизация.
 
Может и не сюда, но про автоматизацию тоже упоминается.  
Уважаемые, не могли бы вы подсказать цикл проверки наличия файла при атоматической отправке письма?  
Есть некий макрос, который рассылает отчеты в виде приложенного файла каждому пользователю. Отчет хранится в формате pdf в папке с названием пользователя и не всегда может присутствовать. Необходимо в макрос вставить цикл, который проверял наличие файла и уже исходя из этого письмо формировалось на отправку или же данный пользователь игнорировался... Прикреплю Файл для наглядности.  
Было бы неплохо, чтобы в теме письма еще проставлялась дата, например "Отчет за =такое-то такое="  
И еще: как сделать, чтобы тело письма содержало весь хакомментированный текст, а не то, что после последнего .Body=  
Заранее спасибо.
 
По поводу "проверить, есть ли аттачмент"  
Не тестировал, но должно сработать:  
Добавить проверку наличия файла (проверка там уже есть, но непосредственно перед присоединением аттачмента):  
   For Each cell In sh.Columns("C").Cells.SpecialCells(xlCellTypeConstants)  
    If Dir(cell.Offset(, 1).Value) <> "" Then  
...  
...  
           Set OutMail = Nothing  
       End If  
    End If  
   Next cell
 
По поводу тела:  
 
               Body = "Здравствуйте, " & cell.Offset(0, -1).Value & vbNewLine & _  
              "Направляем Вам отчет по сделкам." & vbNewLine & _  
                "С уважением, Федоров А.С." & vbNewLine & _  
               "тел.:(1234) 123-456"
 
Точку забыл:  
.Body = "Здра.....
 
{quote}{login=Hugo}{date=22.04.2010 01:36}{thema=}{post}По поводу "проверить, есть ли аттачмент"  
Не тестировал, но должно сработать:  
Добавить проверку наличия файла (проверка там уже есть, но непосредственно перед присоединением аттачмента):  
   For Each cell In sh.Columns("C").Cells.SpecialCells(xlCellTypeConstants)  
    If Dir(cell.Offset(, 1).Value) <> "" Then  
...  
...  
           Set OutMail = Nothing  
       End If  
    End If  
   Next cell{/post}{/quote}  
 
Спасибо большое Hugo! Условие работает, файлы проверяются, но с теперь с письмом проблемы: оно на бланке формируется, и туда вставляется моя подпись, отличная от той, что в макросе, а само письмо в формате HTML... с темой письма проблем нет.  
вот что я наковырял:  
Sub send_email()  
Dim OutApp As Object  
   Dim OutMail As Object  
   Dim sh As Worksheet  
   Dim cell As Range, FileCell As Range, rng As Range  
 
   With Application  
       .EnableEvents = False  
       .ScreenUpdating = False  
   End With  
 
   Set sh = Sheets("SendFiles")  
 
   Set OutApp = CreateObject("Outlook.Application")  
   OutApp.Session.Logon  
 
   For Each cell In sh.Columns("C").Cells.SpecialCells(xlCellTypeConstants)  
 
       'Enter the file names in the C:E column in each row  
       If Dir(cell.Offset(, 1).Value) <> "" Then 'добавлена проверка наличия файла  
         
       Set rng = sh.Cells(cell.Row, 1).Range("D1:E1")  
 
       If cell.Value Like "?*@?*.?*" And _  
          Application.WorksheetFunction.CountA(rng) > 0 Then  
           Set OutMail = OutApp.CreateItem(0)  
 
           With OutMail  
               .to = cell.Value  
               .Subject = "Отчет"  
               Body = "Здравствуйте, " & cell.Offset(0, -1).Value & vbNewLine & _  
"Направляем вам отчет." & vbNewLine & _  
"С уважением, Федоров А.С." & vbNewLine & _  
"тел.:(1234) 123-456"  
                 
                 
               For Each FileCell In rng.SpecialCells(xlCellTypeFormulas)  
                   If Trim(FileCell) <> "" Then  
                       If Dir(FileCell.Value) <> "" Then  
                           .Attachments.Add FileCell.Value  
                       End If  
                   End If  
               Next FileCell  
 
               .Display  'Or use Send Display  
           End With  
 
           Set OutMail = Nothing  
       End If  
       End If 'добавлено  
   Next cell  
 
   Set OutApp = Nothing  
   With Application  
       .EnableEvents = True  
       .ScreenUpdating = True  
   End With  
End Sub  
 
Подозреваю, что я что-то не туда запихнул...(((
 
А точка то где? :)
 
{quote}{login=Hugo}{date=23.04.2010 10:54}{thema=}{post}А точка то где? :){/post}{/quote}  
 
Точно! потерялась.Hugo, вы гений. Еще раз поражаюсь возможностям, которые предоставляет программирование. Но для меня это темный лес(((( Поэтому приходится обращаться к вам). Большое человеческое спасибо!!!
 
{quote}{login=Дима Вэ}{date=23.04.2010 12:34}{thema=Re:    
Но для меня это темный лес(((( !!!{/post}{/quote}  
Тут я сам был виноват - точку не скопировал. Но пытался исправится - так и думал, что могут и не заметить...  
 
Body = "Здравствуйте - это просто новая строковая переменная.  
.Body = "Здравствуйте - а это часть OutMail (OutMail.Body)
 
Спасибо, Hugo. Все работает. Но при указании .Send (что это я не знаю, команда может быть)Outlook выдает о предупреждении безопасности. Можно ли это предупреждение обойти?  
Никак не могу найти информацию по этому поводу. хотя кучу всего перерыл...
Страницы: 1
Читают тему
Наверх