Метод DoCmd.SendObject (Access)

Метод SendObject выполняет действие SendObject в Visual Basic.

Синтаксис

выражение. SendObject (ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)

expression: переменная, представляющая объект DoCmd.

Параметры

Имя Обязательный или необязательный Тип данных Описание
ObjectType Необязательный AcSendObjectType Константа AcSendObjectType , указывающая тип отправляемого объекта.
ObjectName Необязательный Variant Строковое выражение, которое является допустимым именем объекта типа, выбранного аргументом ObjectType. Если вы хотите включить активный объект в сообщение почты, укажите тип объекта с помощью аргумента ObjectType и оставьте этот аргумент пустым. Если оставить пустыми аргументы ObjectType и ObjectName (в качестве аргумента ObjectType предполагается константа по умолчанию, acSendNoObject), Microsoft Access отправит сообщение в приложение электронной почты без включенного объекта базы данных.

Если выполнить код Visual Basic, содержащий метод SendObject в базе данных библиотеки, Access выполнит поиск объекта с этим именем сначала в базе данных библиотеки, а затем в текущей базе данных.
OutputFormat Необязательный Variant Константа, определяющая формат отправки объекта. Возможные значения: acFormatHTML,acFormatRTF,acFormatSNP, acFormatTXT,acFormatXLS,acFormatXLSB,acFormatXLSX, acFormatXPS и acFormatPDF.
Для Необязательный Variant Строковое выражение, в котором перечисляются получатели, имена которых необходимо указать в строке "Кому" почтового сообщения. Имена получателей, указанные в этом аргументе, а также в аргументах "Копия" и "СК", следует разделять точкой с запятой (;) или разделителем списка, заданным на вкладке "Число" диалогового окна "Свойства региональных параметров" в Windows панель управления. Если имена получателей не распознаются почтовым приложением, сообщение не отправляется и возникает ошибка. Если оставить этот аргумент пустым, Microsoft Access запросит получателей.
Cc Необязательный Variant Строковое выражение, в котором перечисляются получатели, имена которых необходимо указать в строке "Копия " почтового сообщения. Если оставить этот аргумент пустым, строка "Копия " в сообщении будет пустой.
Bcc Необязательный Variant Строковое выражение, в котором перечисляются получатели, имена которых требуется указать в строке "СК " почтового сообщения. Если оставить этот аргумент пустым, строка "СК " в сообщении будет пустой.
Тема Необязательный Variant Строковое выражение, содержащее текст, который требуется указать в строке темы сообщения. Если оставить этот аргумент пустым, строка темы в сообщении будет пустой.
MessageText Необязательный Variant Строковое выражение, содержащее после объекта текст, который требуется включить в текст сообщения. Если оставить этот аргумент пустым, то объект будет содержать только текст сообщения.
EditMessage Необязательный Variant Используйте True (1), чтобы открыть приложение электронной почты сразу с загруженным сообщением, чтобы сообщение можно было отредактировать. Используйте False (0), чтобы отправить сообщение, не редактируя его. Если этот аргумент оставлен пустым, предполагается значение по умолчанию (True).
TemplateFile Необязательный Variant Строковое выражение, представляющее собой полное имя (включая путь) файла, который вы хотите использовать в качестве шаблона для HTML-файла.

Примечания

Используйте действие SendObject для включения указанного листа, формы, отчета или модуля Microsoft Access в сообщение электронной почты, где его можно просмотреть и переслать. В сообщения для Microsoft Outlook, Microsoft Exchange и других почтовых программ, использующих интерфейс MAPI, можно включать объекты в форматах Microsoft Excel 2000 (*.xls), MS-DOS (*.txt), RTF (*.rtf) или HTML (*.html).

При использовании действия SendObject для включения объекта базы данных в сообщение электронной почты применяются следующие правила:

  • Можно отправлять таблицы, запросы и таблицы форм. Во включенном объекте все поля таблицы выглядят так же, как и в Access, за исключением полей, содержащих объекты OLE. Столбцы для этих полей включены в объект, но поля пустые.

  • Для элемента управления, привязанного к логическому полю (переключателю, переключателю или полю проверки), выходной файл отображает значение 1 (да) или 0 (нет).

  • Для текстового поля, связанного с полем гиперссылки , выходной файл отображает гиперссылку для всех выходных форматов, кроме текста MS-DOS (в этом случае гиперссылка просто отображается как обычный текст).

  • При отправке формы в представлении формы включенный объект всегда будет содержать режим таблицы формы.

  • При отправке отчета в объект включаются только текстовые поля (для .xls файлов) или текстовые поля и метки (для файлов .rtf, .txt и .html). Все остальные элементы управления игнорируются. Информация о колонтитулах также не включается. Единственное исключение состоит в том, что при отправке отчета в формате Excel в объект включается текстовое поле в нижнем колонтитуле группы, содержащее выражение с функцией Sum . В объект не включаются никакие другие элементы управления в колонтитулы (и никакие агрегатные функции, кроме функции Sum).

  • Вложенные отчеты включены в объект. Подчиненные формы включаются при выводе в .asp, но только в виде формы (не таблицы).

  • При отправке таблицы, формы или страницы доступа к данным в формате HTML создается один файл .html. При отправке отчета в формате HTML для каждой страницы отчета создается по одному .html файлу.

Модули могут быть отправлены только в текстовом формате MS-DOS, поэтому, если вы указываете acSendModule для аргумента ObjectType , вы должны указать acFormatTXT для аргумента OutputFormat .

Примечание.

Вы можете сохранить файл в формате PDF или XPS из программы системы Microsoft Office 2007 только после установки надстройки. Дополнительные сведения см. на странице Надстройка 2007 Microsoft Office: сохранение в формате PDF или XPS (Майкрософт).

Пример

Приведенный ниже пример кода включает таблицу "Сотрудники " в сообщение в формате Microsoft Excel с указанием строк " Кому", "Копия" и "Тема " в сообщении. Сообщение отправляется сразу, без изменений.

DoCmd.SendObject acSendTable, "Employees", acFormatXLS, _ 
    "Nancy Davolio; Andrew Fuller", "Joan Weber", , _ 
    "Current Spreadsheet of Employees", , False

В следующем примере показано, как создать сообщение электронной почты в Microsoft Outlook и отобразить его пользователю.

Public Function CreateEmailWithOutlook( _
    MessageTo As String, _
    Subject As String, _
    MessageBody As String)

    ' Define app variable and get Outlook using the "New" keyword
    Dim olApp As New Outlook.Application
    Dim olEmail As Outlook.MailItem  ' An Outlook Mail item
 
    ' Create a new email object
    Set olEmail = olApp.CreateItem(olMailItem)

    ' Add the To/Subject/Body to the message and display the message
    With olEmail
        .To = MessageTo
        .Subject = Subject
        .Body = MessageBody
        .Display    ' To show the email message to the user
    End With

End Function

В следующем примере показано, как создать сообщение электронной почты в Microsoft Outlook и отправить его без отображения его пользователю.

Public Function SendEmailWithOutlook( _
    MessageTo As String, _
    Subject As String, _
    MessageBody As String)

    ' Define app variable and get Outlook using the "New" keyword
    Dim olApp As New Outlook.Application
    Dim olEmail As Outlook.MailItem  ' An Outlook Mail item
 
    ' Create a new email object
    Set olEmail = olApp.CreateItem(olMailItem)

    ' Add the To/Subject/Body to the message and display the message
    With olEmail
        .To = MessageTo
        .Subject = Subject
        .Body = MessageBody
        .Send       ' Send the message immediately
    End With

End Function

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.