Compartir a través de


Identificadores de programación OLE, enlace en tiempo de ejecución y enlace anticipado (Project)

Obtenga información sobre cómo agregar un objeto automation mediante el enlace en tiempo de ejecución y cómo establecer una referencia para el enlace anticipado en tiempo de diseño.

Use un identificador de programación OLE (a veces denominado ProgID) para crear un objeto de automatización para el enlace en tiempo de ejecución. Por ejemplo, si Project y Word están instalados en el equipo, la siguiente macro de Project crea un documento de Word denominado Doc1.docx y, a continuación, abre el cuadro de diálogo Guardar como en Word.

Sub CreateWordDoc_Late() 
    Dim wdDoc As Object 
 
    Set wdDoc = CreateObject("Word.Document") 
    wdDoc.Save 
End Sub

Nota Los objetos creados mediante ProgID tienen enlace en tiempo de ejecución; por lo tanto, no puede ver los miembros del objeto disponibles al escribir código en el VBE. Los objetos enlazados en tiempo de ejecución también tienen un rendimiento menor que los objetos creados con enlace anticipado en tiempo de diseño.

La siguiente macro funciona mejor y realiza el mismo trabajo que la macro CreateWordDoc_Late . La macro CreateWordDoc_Early requiere que agregue una referencia a la biblioteca de objetos de Microsoft Word 15.0. En el menú Herramientas , elija Referencias para abrir el cuadro de diálogo Referencias - Proyecto de VBA .

Sub CreateWordDoc_Early() 
    Dim wdDoc As Word.Document 
 
    Set wdDoc = New Word.Document 
    wdDoc.Save 
End Sub

A continuación se muestra un ejemplo de uso del enlace anticipado para crear una hoja de cálculo de Excel. Establezca una referencia a La biblioteca de objetos de Microsoft Excel 15.0.

Sub CreateExcelWorkbook_Early()
    Dim xlApp As Excel.Application
    Dim xlWorkbook As Excel.Workbook
    Dim xlWorksheet As Excel.Worksheet
    
    Set xlApp = Excel.Application
    xlApp.Visible = True
        
    Set xlWorkbook = xlApp.Workbooks.Add
    Set xlWorksheet = xlWorkbook.Worksheets(1)
    
    xlWorksheet.Cells(1, 1).Value = "Data from Project"
    xlWorksheet.SaveAs ("C:\Project\VBA\ProjectWorksheet.xlsx")
    xlWorkbook.Close
    xlApp.Visible = False
End Sub

Para obtener información sobre el uso de Project desde otra aplicación, el enlace en tiempo de ejecución y el enlace anticipado, vea el objeto Application .

En las tablas siguientes se enumeran los identificadores de programación OLE para los controles ActiveX y varias aplicaciones de Microsoft Office.

Nota En lugar de usar los valores de ProgId para el enlace en tiempo de ejecución, se recomienda establecer una referencia a la biblioteca de objetos equivalente y usar el enlace anticipado.

Controles ActiveX

Para crear los controles ActiveX que se indican en la tabla siguiente, utilice el identificador programático OLE correspondiente. Al insertar un formulario de usuario, Project establece una referencia a Microsoft Forms biblioteca de objetos 2.0 para el enlace anticipado.

Para crear este control Use este identificador
Casilla Forms.CheckBox.1
ComboBox Forms.ComboBox.1
Commandbutton Forms.CommandButton.1
Frame Forms.Frame.1
Imagen Forms.Image.1
Etiqueta Forms.Label.1
Listbox Forms.ListBox.1
Multipage Forms.MultiPage.1
Optionbutton Forms.OptionButton.1
Scrollbar Forms.ScrollBar.1
SpinButton Forms.SpinButton.1
Tabstrip Forms.TabStrip.1
TextBox Forms.TextBox.1
Togglebutton Forms.ToggleButton.1

Microsoft Access

Para crear los objetos de Access enumerados en la tabla siguiente, use uno de los identificadores de programación OLE correspondientes. Si usa un identificador sin un sufijo de número de versión, se creará un objeto en la versión más reciente de Access que esté disponible en el equipo donde se está ejecutando la macro. Para el enlace anticipado, establezca una referencia a La biblioteca de objetos de Microsoft Access 15.0.

Para crear este objeto Use uno de estos identificadores
Aplicación Access.Application, Access.Application.15
CurrentData Access.CodeData, Access.CurrentData
CurrentProject Access.CodeProject, Access.CurrentProject
DefaultWebOptions Access.DefaultWebOptions

Microsoft Excel

Para crear los objetos de Excel enumerados en la tabla siguiente, use uno de los identificadores de programación OLE correspondientes. Si usa un identificador sin un sufijo de número de versión, se creará un objeto en la versión más reciente de Excel que esté disponible en el equipo donde se está ejecutando la macro. Para el enlace anticipado, establezca una referencia a La biblioteca de objetos de Microsoft Excel 15.0.

Para crear este objeto Utilice uno de estos identificadores Comentarios
Aplicación Excel.Application, Excel.Application.15
Libro de trabajo Excel.AddIn
Libro de trabajo Excel.Chart, Excel.Chart.8 Devuelve un libro que contiene dos hojas de cálculo: una para el gráfico y otra para sus datos. La hoja del gráfico es la hoja activa.
Libro de trabajo Excel.Sheet, Excel.Sheet.12 Devuelve un libro con una hoja de cálculo.

Graph

Para crear los objetos graph enumerados en la tabla siguiente, use uno de los identificadores de programación OLE correspondientes. Si usa un identificador sin un sufijo de número de versión, se creará un objeto en la versión más reciente de Graph que esté disponible en el equipo donde se está ejecutando la macro. Para el enlace anticipado, establezca una referencia a La biblioteca de objetos de Graph 15.0.

Para crear este objeto Use uno de estos identificadores
Aplicación MSGraph.Application, MSGraph.Application.8
Gráfico MSGraph.Chart, MSGraph.Chart.8

Microsoft Office Web Components.

Nota El componente web de Microsoft Office (OWC) está en desuso y no está instalado con Project.

Microsoft Outlook

Para crear el objeto de Microsoft Outlook que se muestra en la tabla siguiente, use uno de los identificadores de programación OLE correspondientes. Si usa un identificador sin un sufijo de número de versión, se creará un objeto en la versión más reciente de Outlook que esté disponible en el equipo donde se está ejecutando la macro. Para el enlace anticipado, establezca una referencia a La biblioteca de objetos de Microsoft Outlook 15.0.

Para crear este objeto Use uno de estos identificadores
Aplicación Outlook.Application, Outlook.Application.15

Microsoft PowerPoint

Para crear los objetos de Microsoft PowerPoint enumerados en la siguiente tabla, utilice uno de los identificadores de programación OLE correspondientes. Si usa un identificador sin un sufijo de número de versión, se creará un objeto en la versión más reciente de PowerPoint que esté disponible en el equipo donde se está ejecutando la macro. Para el enlace anticipado, establezca una referencia a la biblioteca de objetos de Microsoft PowerPoint 15.0.

Para crear este objeto Use uno de estos identificadores
Aplicación PowerPoint.Application, PowerPoint.Application.15

Microsoft Word

Para crear los objetos de Microsoft Word enumerados en la siguiente tabla, utilice uno de los identificadores de programación OLE correspondientes. Si usa un identificador sin un sufijo de número de versión, se creará un objeto en la versión más reciente de Word que esté disponible en el equipo donde se está ejecutando la macro. Word.Document.8 y Word.Document.12 crean un documento con el formato Open XML predeterminado (.docx). Para el enlace anticipado, establezca una referencia a La biblioteca de objetos de Microsoft Word 15.0.

Para crear este objeto Use uno de estos identificadores
Aplicación Word.Application, Word.Application.14
Documento Word.Document, Word.Document.8, Word.Template.8, Word.Document.12, Word.Template.12

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.