Macro para Powerpoint

Hola, quisiera preguntar:
Tengo un archivo de Access con un botón que me abre un documento de powerpoint.
Cuando pulso el botón, se baja el Access a la barra de tareas y se abre el Powerpoint. Quisiera poner un botón en el archivo de Powerpoint que me cierre este archivo, pero que después no se me quede el archivo de Access minimizado en la barra de tareas, sino que se suba a la pantalla, o bien hacer de algún modo que cuando se abra el Powerpoint el Access no se baje y se quede detrás, para que cuando se cierre el Powerpoint siga estando en pantalla el Access.
Muchas gracias de antemano.
Angel

2 respuestas

Respuesta
1
Ahora entiendo mejor el tema de por qué se minimizaba el Access dando el foco el PowerPoint, justamente porque utilizás un hipervínculo.
Yo te recomiendo prescindir del hipervínculo e ingresar ese código en el evento click del botón correspondiente.
Si por otro lado, en algún campo de alguna de tus tablas tenés guardado el path y nombre de los ppt que corresponden a distintos registros, te aconsejo cambiar el tipo de datos del campo a String (Texto) en donde dejás path y nombre pero sin utilizarlo como hiperv., sino como argumento pasado al evento click del botón. En tu Form mostrás ese campo como un Textbox, y hacés el siguiente cambio en el código:
Donde dice:
Const PPFilename As String = "D:\Almacen\Mipresentacion.ppt"
Cambiar por:
Dim PPFilename as String
PPFilename=textbox1.text
Listo, esto toma como path y nombre de archivo el contenido de ese Textbox, que a su vez corresponde al registro que estás visualizando.
Hola, muchas gracias por tu rápida respuesta, pero no me funciona, me da mensajez de complacion.
Te aclaro que el botón me abre el archivo ppt con un hypervinculo, y le meto el código que me dijiste en "al hacer click".
Quizás me pudieras decir el código para poner en el botón para abrir el ppt sin necesidad de hypervinculo, ¿es decir con código? ¿Cuál seria el código completo ara hacer lo que busco de esta forma?.
Muchísimas gracias.
Angel.
Podes ubicar este código en el click del botón del Access:
Option Compare Database
Option Explicit
'Path y nombre del ejecutable del Power Point
Const PPFileexe As String = "C:\Porgram Files\Microsoft Office\Office\POWERPNT.EXE"
'Path y nombre de mi presentación
Const PPFilename As String = "D:\Almacen\Mipresentacion.ppt"
Private Sub Comando0_Click()
Dim commandName As String
Dim miApp As Long
On Error GoTo Comando0_Click_Err
commandName = PPFileexe & " " & PPFilename
miApp = Shell(commandName, vbNormalFocus)
Exit Sub
Comando0_Click_Err:
MsgBox Err.Number & ": " & Err.Description
End Sub
Hola, te agradezco mucho tus respuestas, no quisiera abusar de tu paciencia.
Tengo que ponerme a fondo a estudiar VBA con Office, pero ahora tengo que resolver un trabajo.
Yo meto el código que me diste en el evento click de un botón y cuando lo ejecuto me da el mensaje de compilación diciendo que el procedimiento interno no es válido y se señala "Option Compare Database", no se si se tendrá que poner algo antes.
Por si puedes ver donde esta el fallo, el código que escribo en total es (no hay hypervinculos en ningún sitio):
Private Sub Comando113_Click()
Option Compare Database
Option Explicit
'Path y nombre del ejecutable del Power Point
Const PPFileexe As String = "F:\win32app\off97sr2\Office\powerpnt.exe"
'Path y nombre de mi presentación
Const PPFilename As String = "C:\22.ppt"
Private Sub Comando0_Click()
Dim commandName As String
Dim miApp As Long
On Error GoTo Comando0_Click_Err
commandName = PPFileexe & " " & PPFilename
miApp = Shell(commandName, vbNormalFocus)
Exit Sub
Comando0_Click_Err:
MsgBox Err.Number & ": " & Err.Description
End Sub
End Sub
Espero no causarte muchas molestias.
Gracias.
Angel.
Estás pegando mal el código, pegá solamente esto:
Option Compare Database
Option Explicit
'Path y nombre del ejecutable del Power Point
Const PPFileexe As String = "F:\win32app\off97sr2\Office\powerpnt.exe"
'Path y nombre de mi presentación
Const PPFilename As String = "C:\22.ppt"
Private Sub Comando113_Click()
Dim commandName As String
Dim miApp As Long
On Error GoTo Comando113_Click_Err
commandName = PPFileexe & " " & PPFilename
miApp = Shell(commandName, vbNormalFocus)
Exit Sub
Comando113_Click_Err:
MsgBox Err.Number & ": " & Err.Description
End Sub
Lo que te tiene que quedar claro es que:
-Los Option y Const iniciales tienen que quedar AFUERA del Sub que corresponde al Botón en cuestión (en tu caso llamado Comando113)
-Por Cada Sub, más adelante hay un End Sub.
Respuesta
1
Disculpa la demora:
No sé cómo serán tus instrucciones para que te minimize la ventana de Access, yo utilicé la siguiente y siempre queda maximizada o por lo menos con la vista de cómo la dejé, pero no minimizada:
Private Sub Comando7_Click()
Dim aplica
aplica = Shell("C:\Archivos de programa\Microsoft Office\Office\Powerpnt.EXE", 3)
End Sub
En realidad utilizando cualquier valor, Access siempre queda. Lo que cambia con el número es cómo se abre PowerPoint-.
¿Dónde está tu botón? Si en un formulario con propiedad Emergente = Si es probable que se te minimize la base pero no el form (¿?)
Verifica la rutina del botón y también las opciones de Inicio, si siempre está la base activa y todas esas cosas.
Si no lo encontrás escribime las rutinas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas