Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод 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 и обратная связь.