Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 15.07.2010, 21:51   #61
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
с семерки не отправите...
Я же отправляю, правда Office 2003 Pro Rus.
valerij вне форума
Старый 15.07.2010, 22:15   #62
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Видишь,как запутался.Я же помнил.что ты не смог отправлять.И человека ввел в заблуждение
Анализ,обработка данных Недорого
doober вне форума
Старый 15.07.2010, 22:19   #63
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Я же помнил.что ты не смог отправлять.
Да, было такое, но 7 не причем, все потом сам + все Ваши коды, разобрался и ОК!!!!
valerij вне форума
Старый 17.12.2010, 20:54   #64
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Не могу найти, что в коде удаляет макросы из файла, теперь надо, что бы на почту шел файл, полностью рабочий, со всеми, макросами, модулями..
Вот код
Код:
Private Sub SendAttachment()
c = Day(Date)
    If Not IsDate(Лист1.Cells(2, c * 2 - 1)) Then
       MsgBox "Ячейка C3 не содержит даты", vbCritical, ""
       Exit Sub
    End If
    iFileName$ = ThisWorkbook.Path & "\" & _
    "УчетА на " & Format(Лист1.Cells(2, c * 2 - 1), "dd/mm/yy") & ".xls"
    vArray = Array("", "xxxx@yandex.ru")
    With Application
         .ScreenUpdating = False
         .DisplayAlerts = False
         .EnableEvents = False
         For iCount% = 1 To 1 '2 'UBound(vArray)
             With ThisWorkbook.Worksheets(iCount%)
                  .Cells.Copy: iManufactura$ = .Name
             End With
             With Workbooks.Add(xlWBATWorksheet)
                  With .Worksheets(1)
                       .Name = iManufactura$
                       .Cells.PasteSpecial Paste:=xlValues
                       .Cells.PasteSpecial Paste:=xlFormats
                       .Cells(1).Select
                       .Protect Password:=ChildPassword(10)
                  End With
                  .Windows(1).DisplayHeadings = False
                  .Close saveChanges:=True, Filename:=iFileName$
             End With
        
             If Send_Mail(vArray(iCount%), _
                "yyyyy@yandex.ru", "Учет-Авто", iFileName$) Then
                MsgBox "Письмо успешно отправлено", vbInformation, ""
             Else
                MsgBox "Не удалось отправить письмо", vbExclamation, ""
             End If
             Kill PathName:=iFileName$
         Next
         .EnableEvents = True
         .DisplayAlerts = True
         .ScreenUpdating = True
    End With
End Sub
Private Function ChildPassword$(LenPassword%)
    Randomize 'Timer
    ChildPassword$ = Space(LenPassword)
    For iCount% = 1 To LenPassword
        Mid(ChildPassword$, iCount%, 1) = Chr(Rnd * 255)
    Next
End Function
valerij вне форума
Старый 17.12.2010, 22:09   #65
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Не могу найти, что в коде удаляет макросы из файла
и не найдёшь

этот код создаёт новый файл, в который копирует содержимое ячеек текущего файла.
(макросы при этом не копируются)
EducatedFool вне форума
Старый 17.12.2010, 22:42   #66
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
(макросы при этом не копируются)
Понял, спасибо, придется все заново, штудировать.
valerij вне форума
Старый 18.12.2010, 16:34   #67
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Если кому надо, вот готовый код для отправки книги со всеми макросами, данными, работает из под W7 и XPSP3
Два модуля
Модуль 1
Код:
Function Send_Mail(ByVal MailTo As String, _
                   ByVal MailFrom As String, _
                   ByVal MailSubject As String, _
                   ByVal MailAttachment As String, _
                   Optional ByVal MailText As String = "") As Boolean
    Const cdoConfigURL = "http://schemas.microsoft.com/cdo/configuration/"
    Const SmtpServer = "smtp.yandex.ru"
    Const SendUsername = "адрес отправителя"
    Const SendPassword = "его пароль"
    On Error Resume Next
    Set cdoConfig = CreateObject("CDO.Configuration")
    With cdoConfig.Fields
        .Item(cdoConfigURL & "sendusing") = 2
        .Item(cdoConfigURL & "smtpauthenticate") = 1
        .Item(cdoConfigURL & "smtpserver") = SmtpServer
        .Item(cdoConfigURL & "sendusername") = SendUsername
        .Item(cdoConfigURL & "sendpassword") = SendPassword
        .Update
    End With
    Set cdoMessage = CreateObject("CDO.Message")
    With cdoMessage
        Set .Configuration = cdoConfig
        .BodyPart.Charset = "koi8-r"
        .From = MailFrom
        .To = MailTo
        .Subject = MailSubject
        .TextBody = MailText
        .AddAttachment MailAttachment
        .Send
    End With
    Set cdoMessage = Nothing: Set cdoConfig = Nothing
    Send_Mail = (Err.Number = 0)
End Function
Модуль 2
Код:
Private Sub SendAttachment()
    Dim iCell As Range
    Set iCell = Лист1.Cells(2, Day(Date) * 2 - 1)
    If Not IsDate(iCell) Then
       MsgBox "Ячейка " & iCell.Address & " не содержит даты", vbCritical, ""
       Exit Sub
    End If
    
    Application.DisplayAlerts = False
    
    iFileName$ = ThisWorkbook.Path & _
    "\УчетА на " & Format(iCell.Value, "dd/mm/yy") & ".xls"
    ThisWorkbook.SaveCopyAs Filename:=iFileName$
        
    If Send_Mail("адрес получателя", "адрес отправителя", "Учет-Авто", iFileName$) Then
       MsgBox "Письмо успешно отправлено", vbInformation, ""
    Else
       MsgBox "Не удалось отправить письмо", vbCritical, ""
    End If
    Kill PathName:=iFileName$
         
    Application.DisplayAlerts = True
End Sub
Если не надо менять имя файла, то
Модуль 2
Код:
Private Sub SendAttachment()
    Application.DisplayAlerts = False
        iFileName$ = ThisWorkbook.Path & "\ Имя Файла.xls"
            ThisWorkbook.SaveCopyAs Filename:=iFileName$
    If Send_Mail("адрес получателя", "адрес отправителя", _
            "Название темы письма", iFileName$) Then
       MsgBox "Письмо успешно отправлено", vbInformation, ""
    Else
       MsgBox "Не удалось отправить письмо", vbCritical, ""
    End If
        Kill PathName:=iFileName$
    Application.DisplayAlerts = True
End Sub
Причем, адрес получателя, может = адрес отправителя
т. е. один и тот же адрес, удобно(в моем случае)

Последний раз редактировалось valerij; 18.12.2010 в 21:47.
valerij вне форума
Старый 05.01.2011, 10:22   #68
sasha_prof
Форумчанин
 
Регистрация: 06.01.2010
Сообщений: 292
По умолчанию

Подскажите плиз, как отправить задачу?
sasha_prof вне форума
Старый 05.01.2011, 11:47   #69
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от sasha_prof Посмотреть сообщение
Подскажите плиз, как отправить задачу?
А что такое "задача" в вашем понимании?
EducatedFool вне форума
Старый 05.01.2011, 15:34   #70
sasha_prof
Форумчанин
 
Регистрация: 06.01.2010
Сообщений: 292
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
А что такое "задача" в вашем понимании?
Ссори.
В АУТЛУКЕ в закладке создать есть - "Встреча", "Задача" и т.д.
Вот это я и имел ввиду
sasha_prof вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка почты Fess HTML и CSS 15 11.03.2010 20:24
Отправка почты Fo][ Работа с сетью в Delphi 1 20.01.2009 23:15
отправка почты? gusluk Работа с сетью в Delphi 2 17.11.2008 07:45
Отправка почты Fenix Nexsais Работа с сетью в Delphi 5 06.09.2007 22:27
Отправка почты Mikola PHP 4 12.08.2007 04:17