Настройка модуля доступа ms или чистый код

У меня есть следующий код в модуле, который отправляет электронное письмо с вложением пользователю.

Public Sub EmailToUser()

Dim mail    As Object           ' CDO.MESSAGE
Dim config  As Object           ' CDO.Configuration

Set mail = CreateObject("CDO.Message")
Set config = CreateObject("CDO.Configuration")

    config.Fields(cdoSendUsingMethod).Value = cdoSendUsingPort
    config.Fields(cdoSMTPServer).Value = "my smtp server"
    config.Fields(cdoSMTPServerPort).Value = 465
    config.Fields(cdoSMTPConnectionTimeout).Value = 10
    config.Fields(cdoSMTPUseSSL).Value = "true"
    config.Fields(cdoSMTPAuthenticate).Value = cdoBasic
    config.Fields(cdoSendUserName).Value = "e=mail"
    config.Fields(cdoSendPassword).Value = "password"
    config.Fields.Update

Set mail.Configuration = config

With mail
    .To = "e-mail"
    .From = "e-mail"
    .Subject = "subject"
    .AddAttachment strPathReport & FileName '<== My question.
    .Send
End With

Set config = Nothing
Set mail = Nothing

End Sub

У меня есть форма с 8 кнопками, и каждая кнопка отправляет электронное письмо с вложением. Теперь у меня в моем модуле 8 раз один и тот же код с разными вложениями.

Можно ли только один раз ввести вышеуказанный код и с кнопки добавить вложение?

Спасибо.


person YvetteLee    schedule 03.10.2017    source источник


Ответы (1)


В основном вы хотите добавить параметры к процедуре. А затем передать адрес электронной почты и т. д. в качестве аргументов.

Этот вопрос должен дать вам некоторые идеи о том, как это сделать: subs с несколькими аргументами vba

person BIBD    schedule 03.10.2017