Table of contents
TOC
Collapse the table of content
Expand the table of content

Método DoCmd.SendObject (Access)DoCmd.SendObject Method (Access)

office 365 dev account|Última actualización: 08/03/2018
|
2 Colaboradores

El método SendObject realiza la acción SendObject en Visual Basic.The SendObject method carries out the SendObject action in Visual Basic.

SintaxisSyntax

expresión.expression.SendObject(ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)SendObject(ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)

expresión Variable que representa un objeto DoCmd.expression A variable that represents a DoCmd object.

ParámetrosParameters

NombreNameObligatorio/opcionalRequired/OptionalTipo de datosData TypeDescripciónDescription
ObjectTypeObjectTypeOpcionalOptionalAcSendObjectTypeAcSendObjectTypeConstante AcSendObjectType que especifica el tipo de objeto que se enviará.A AcSendObjectType constant that specifies the type of object to send.
ObjectNameObjectNameOpcionalOptionalVariantVariantExpresión de cadena que es el nombre válido de un objeto del tipo seleccionado en el argumento ObjectType. Si quiere incluir el objeto activo en el mensaje de correo electrónico, especifique el tipo del objeto con el argumento ObjectType y deje en blanco este argumento. Si deja en blanco los argumentos ObjectType y ObjectName (se usa la constante predeterminada, acSendNoObject, para el argumento ObjectType), Microsoft Access envía un mensaje a la aplicación de correo electrónico sin incluir un objeto de base de datos. Si ejecuta código de Visual Basic que contenga el método SendObject en una base de datos de biblioteca, Microsoft Access busca el objeto con este nombre primero en la base de datos de biblioteca y luego en la base de datos activa.A string expression that's the valid name of an object of the type selected by the ObjectType argument. If you want to include the active object in the mail message, specify the object's type with the ObjectType argument and leave this argument blank. If you leave both the ObjectType and ObjectName arguments blank (the default constant, acSendNoObject, is assumed for the ObjectType argument), Microsoft Access sends a message to the electronic mail application without an included database object. If you run Visual Basic code containing the SendObject method in a library database, Microsoft Access looks for the object with this name first in the library database, then in the current database.
OutputFormatOutputFormatOpcionalOptionalVariantVariantConstante que especifica el formato en el que enviar el objeto. Los posibles valores son: acFormatHTML, acFormatRTF, acFormatSNP, acFormatTXT, acFormatXLS, acFormatXLSB, acFormatXLSX, acFormatXPS y acFormatPDF.A constant that specifies the format in which to send the object. Possible values include acFormatHTML, acFormatRTF, acFormatSNP, acFormatTXT, acFormatXLS, acFormatXLSB, acFormatXLSX, acFormatXPS, and acFormatPDF.
ToToOpcionalOptionalVariantVariantExpresión de cadena que enumera los destinatarios cuyos nombres desea insertar en la línea Para del mensaje de correo electrónico. Separe los nombres de los destinatarios que especifique en este argumento y en los argumentos cc y bcc con un punto y coma (;) o mediante el separador de listas especificado en la ficha Número del cuadro de diálogo Propiedades de configuración regional del Panel de control de Windows. Si los nombres de los destinatarios no se reconocen en la aplicación de correo, el mensaje no se enviará y se producirá un error. Si deja en blanco este argumento, Microsoft Access le pedirá los nombres de los destinatarios.A string expression that lists the recipients whose names you want to put on the To line in the mail message. Separate the recipient names you specify in this argument and in the cc and bcc arguments with a semicolon (;) or with the list separator set on the Number tab of the Regional Settings Properties dialog box in Windows Control Panel. If the recipient names aren't recognized by the mail application, the message isn't sent and an error occurs. If you leave this argument blank, Microsoft Access prompts you for the recipients.
CcCcOpcionalOptionalVariantVariantExpresión de cadena que enumera los destinatarios cuyos nombres quiere colocar en la línea CC del mensaje de correo. Si deja este argumento en blanco, la línea CC del mensaje de correo queda vacía.A string expression that lists the recipients whose names you want to put on the Cc line in the mail message. If you leave this argument blank, the Cc line in the mail message is blank.
BccBccOpcionalOptionalVariantVariantExpresión de cadena que enumera los destinatarios cuyos nombres quiere colocar en la línea CCO de un mensaje de correo. Si deja este argumento blanco, la línea CCO del mensaje de correo queda vacía.A string expression that lists the recipients whose names you want to put on the Bcc line in the mail message. If you leave this argument blank, the Bcc line in the mail message is blank.
SubjectSubjectOpcionalOptionalVariantVariantExpresión de cadena que contiene el texto que quiere colocar en la línea Asunto de un mensaje de correo. Si deja este argumento blanco, la línea Asunto del mensaje de correo queda vacía.A string expression containing the text you want to put on the Subject line in the mail message. If you leave this argument blank, the Subject line in the mail message is blank.
MessageTextMessageTextOpcionalOptionalVariantVariantExpresión de cadena que contiene el texto que desee incluir en el cuerpo del mensaje de correo, detrás del objeto. Si deja en blanco este argumento, el objeto será lo único que se incluya en el cuerpo del mensaje de correo.A string expression containing the text you want to include in the body of the mail message, after the object. If you leave this argument blank, the object is all that's included in the body of the mail message.
EditMessageEditMessageOpcionalOptionalVariantVariantUse True (-1) para abrir la aplicación de correo electrónico inmediatamente con el mensaje cargado para que el mensaje se pueda editar. Use False (0) para enviar el mensaje sin editarlo. Si deja este argumento en blanco, se usa el valor predeterminado ( True ).Use True (?1) to open the electronic mail application immediately with the message loaded, so the message can be edited. Use False (0) to send the message without editing it. If you leave this argument blank, the default ( True ) is assumed.
TemplateFileTemplateFileOpcionalOptionalVariantVariantUna expresión de cadena que es el nombre completo, incluyendo la ruta de acceso, del archivo que desea usar como plantilla para un archivo HTML.A string expression that's the full name, including the path, of the file you want to use as a template for an HTML file.

ComentariosRemarks

Puede usar la acción SendObject para incluir una hoja de datos, formulario, informe o módulo especificados de Microsoft Access en un mensaje de correo electrónico, desde donde se puede examinar y enviar.You can use the SendObject action to include the specified Microsoft Access datasheet, form, report, or module in an electronic mail message, where it can be viewed and forwarded.Puede incluir objetos en Microsoft Excel 2000 (.xls), texto de MS-DOS (.txt), texto enriquecido (.rtf), or formato HTML (.html) en mensajes de Microsoft Outlook, Microsoft Exchange u otra aplicación de correo electrónico que use la Interfaz de programación de aplicaciones de correo (MAPI).You can include objects in Microsoft Excel 2000 (.xls), MS-DOS text (.txt), rich-text (.rtf), or HTML (.html) format in messages for Microsoft Outlook, Microsoft Exchange, or another electronic mail application that uses the Mail Applications Programming Interface (MAPI).

Se aplican las reglas siguientes cuando se usa la acción SendObject para incluir un objeto de base de datos en un mensaje de correo:The following rules apply when you use the SendObject action to include a database object in a mail message:

  • Puede enviar hojas de datos de tabla, consulta y formulario. En el objeto incluido, todos los campos de la hoja de datos tienen la misma apariencia que en Access, excepto los campos que contengan objetos OLE. Las columnas de estos campos se incluyen en el objeto, pero los campos están en blanco.You can send table, query, and form datasheets. In the included object, all fields in the datasheet look as they do in Access, except fields containing OLE objects. The columns for these fields are included in the object, but the fields are blank.

  • Para un control enlazado a un campo Sí/No (un botón de alternar, un botón de opción o una casilla), el archivo de salida contiene el valor ?1 (sí) o 0 (no).For a control bound to a Yes/No field (a toggle button, option button, or check box), the output file displays the value ?1 (Yes) or 0 (No).

  • Para un cuadro de texto enlazado a un campo Hipervínculo, el archivo de salida muestra el hipervínculo para todos los formatos de salida excepto texto de MS-DOS (en este caso, el hipervínculo se muestra como texto normal).For a text box bound to a Hyperlink field, the output file displays the hyperlink for all output formats except MS-DOS text (in this case, the hyperlink is just displayed as normal text).

  • Si se envía un formulario en la vista Formulario, el objeto incluido siempre contiene la vista Hoja de datos del formulario.If you send a form in Form view, the included object always contains the form's Datasheet view.

  • Si envía un informe, los únicos controles que se incluyen en el objeto son cuadros de texto (en archivos .xls) o cuadros de texto y etiquetas (en archivos .rtf, .txt y .html). Todos los demás controles se omiten. La información de encabezado y pie de página también se incluye. La única excepción a esto es que al enviar un informe en formato Excel, en el objeto se incluye un cuadro de texto en un pie de página de grupo que contiene una expresión con la función Sum. En el objeto no se incluye ningún otro control de encabezado o pie de página (ni ninguna función de agregado que no sea Sum).If you send a report, the only controls that are included in the object are text boxes (for .xls files), or text boxes and labels (for .rtf, .txt, and .html files). All other controls are ignored. Header and footer information is also not included. The only exception to this is that when you send a report in Excel format, a text box in a group footer containing an expression with the Sum function is included in the object. No other control in a header or footer (and no aggregate function other than Sum) is included in the object.

  • Los subinformes se incluyen en el objeto. Los subinformes se incluyen al realizar la salida a formato .asp, pero sólo en el caso de salida como formulario (no como hoja de datos).Subreports are included in the object. Subforms are included when outputting to .asp, but only when outputting as a form (not a datasheet).

  • Si se envía una hoja de datos, formulario o página de acceso a datos en formato HTML, se crea un archivo .html. Si se envía un informe en formato HTML, se crea un archivo .html para cada página del informe.When you send a datasheet, form, or data access page in HTML format, one .html file is created. When you send a report in HTML format, one .html file is created for each page in the report.

Los módulos solo pueden enviarse en formato Texto MS-DOS, de tal forma que si especifica acSendModule en el argumento ObjectType, debe especificar acFormatTXT en el argumento OutputFormat.Modules can be sent only in MS-DOS Text format, so if you specify acSendModule for the ObjectType argument, you must specify acFormatTXT for the OutputFormat argument.

Nota

Puede guardar un archivo como PDF o XPS desde un programa de Microsoft Office System 2007 sólo después de instalar un complemento. Para obtener más información, busque "Habilitar compatibilidad con otros formatos de archivo, como PDF y XPS" en el sitio web de Office.You can save as a PDF or XPS file from a 2007 Microsoft Office system program only after you install an add-in. For more information, search for "Enable support for other file formats, such as PDF and XPS" on the Office Web site.

Vínculo proporcionado por:Icono de miembro de la comunidad Luke Chung, FMS, Inc.Link provided by:Community Member Icon Luke Chung, FMS, Inc.

Vínculo proporcionado por:Icono de miembro de la comunidad La comunidad UtterAccessLink provided by:Community Member Icon The UtterAccess community

EjemploExample

En el ejemplo de código siguiente se incluye la tabla Employees en un mensaje de correo en formato Microsoft Excel y se especifican las líneas Para, CC y Asunto en el mensaje correo.The following code example includes the Employees table in a mail message in Microsoft Excel format and specifies To, Cc, and Subject lines in the mail message.El mensaje de correo se envía inmediatamente, sin modificar.The mail message is sent immediately, without editing.

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

En el ejemplo siguiente se muestra cómo crear un mensaje de correo electrónico con Microsoft Outlook y mostrarlo al usuario.The following example shows how to create an email message with Microsoft Outlook and display it to the user.

Código de ejemplo proporcionado por: La Referencia del programador de Microsoft Access 2010Sample code provided by: The Microsoft Access 2010 Programmer's Reference

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 olMailItem As Outlook.MailItem  ' An Outlook Mail item

    ' Create a new email object
    Set olMailItem = olApp.CreateItem(olMailItem)

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

    ' Release all object variables
    Set olMailItem = Nothing
    Set olApp = Nothing

End Function

En el ejemplo siguiente se muestra cómo crear un mensaje de correo electrónico con Microsoft Outlook y enviarlo sin mostrarlo al usuario.The following example shows how to create an email message with Microsoft Outlook and send it without displaying the email message to the user.

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 olMailItem As Outlook.MailItem  ' An Outlook Mail item

    ' Create a new email object
    Set olMailItem = olApp.CreateItem(olMailItem)

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

    ' Release all object variables
    Set olMailItem = Nothing
    Set olApp = Nothing

End Function

Acerca de los colaboradoresAbout the contributors

Luke Chung es fundador y presidente de FMS, Inc., un destacado proveedor de soluciones de bases de datos personalizadas y de herramientas para desarrolladores.Luke Chung is the founder and president of FMS, Inc., a leading provider of custom database solutions and developer tools.

Wrox Press se rige por la filosofía "de programador a programador". Los libros de Wrox están escritos por programadores para programadores y la marca Wrox es sinónimo de soluciones autorizadas para problemas reales de programación.Wrox Press is driven by the Programmer to Programmer philosophy. Wrox books are written by programmers for programmers, and the Wrox brand means authoritative solutions to real-world programming problems.

UtterAccess es el principal foro de ayuda y wiki sobre Microsoft Access. Haga clic aquí para unirse.UtterAccess is the premier Microsoft Access wiki and help forum. Click here to join.

Vea tambiénSee also

Objeto DoCmdDoCmd Object

© 2018 Microsoft