XL: Cómo imprimir una presentación de PowerPoint mediante una macro de Excel

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 155066
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Resumen
Este artículo describe dos métodos diferentes para imprimir un archivo de presentación de PowerPoint con una macro de Microsoft Excel. Los dos métodos se diferencian en la forma en que controlan la posible aparición de 440 del error OLE Automation, un error que se produce cuando un servidor de automatización se agota el tiempo de espera o no está listo para aceptar un comando determinado.
Más información
"La corrección de rápida" (ejemplo 1) incorpora un bucle DoEvents pequeño que permite que la aplicación de servidor ponerse al día. La longitud del bucle varía según el sistema por y depende de la carga actualmente en el equipo así. Una solución alternativa es interceptar el error (ejemplo 2). Una vez no se devuelve ningún error, continúa el programa. Esto sólo ocurre cuando el método .Print es correcto.

Ejemplo 1: Utilizar for/siguiente bucle

Sub ppttest2()    Dim pptApp As Object    Dim waitForIt As Integer    Set pptApp = CreateObject("PowerPoint.Application")    pptApp.Visible = True    With pptApp.Presentations.Open("D:\MYPPTFILE.PPT ")        For waitForIt = 0 To 1000            DoEvents        Next        With .PrintOptions            .Print        End With    End With    pptApp.QuitEnd Sub				

Ejemplo 2: Utilizar la interceptación de errores

Sub ppttest2()    On Error Resume Next    Dim pptApp As Object    Set pptApp = CreateObject("PowerPoint.Application")    pptApp.Visible = True    With pptApp.Presentations.Open("D:\MYPPTFILE.PPT")        With .PrintOptions            Do                Err = 0                DoEvents                .Print            Loop Until Err = 0        End With    End With    pptApp.QuitEnd Sub				
Microsoft proporciona ejemplos de Visual Basic para aplicaciones procedimientos con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo, pero sin limitarse a las garantías implícitas de comerciabilidad e idoneidad para un propósito determinado. Los procedimientos Visual Basic en este artículo se proporcionan "tal cual" y Microsoft no garantiza que se pueden utilizar en todas las situaciones. Aunque los profesionales de soporte técnico de Microsoft pueden explicarle la funcionalidad de una macro determinada, no modificarán estos ejemplos para proporcionar funcionalidad agregada ni le ayudan a crear macros para satisfacer sus necesidades específicas. Si tiene poca experiencia en programación, desea consulte uno de los proveedores de soluciones de Microsoft. Proveedores de soluciones ofrecen una amplia gama de servicios basados en la cuota, incluida la creación macros personalizadas. Para obtener más información acerca de Microsoft Solution Providers, llame al Microsoft Customer Information Service (800) 426-9400.
Automatización OLE de VB VBA

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 155066 - Última revisión: 01/29/2014 03:17:56 - Revisión: 2.1

Microsoft PowerPoint 95 Standard Edition, Microsoft Excel 5.0 Standard Edition, Microsoft Excel 95 Standard Edition

  • kbnosurvey kbarchive kbmt KB155066 KbMtes
Comentarios