Abrir word condicionado desde excel

Hola, muy agradecido por el tiempo que me dedicas. Te `planteo la cuestión. Hay una condición en una macro que no se sé formular. Trato de hacerla en excel. La macro sería:
¿Si (word no está abierto) Then
? Abro word y recupero documento
Dim wordApp As Object
Set wordApp = CreateObject("word.Application")
wordApp.Visible = True
wordApp.Documents.Open Filename:="C:DOCUMENTO1.doc"
Else
?no debo abrir word (ya está abierto) y sólo debo recuperar el doc.
wordApp.Documents.Open Filename:="C:DOCUMENTO1.doc"
Bueno, pues no logro formular la condición previa. ¿Puedes ayudarme? Gracias en todo caso.

1 respuesta

Respuesta
1
En general esto se trata con un control de error. Es decir que si tratas de abrir lo que ya está abierto te presentará error, entonces le decimos que vaya a la siguiente.
Pruébalo de esta manera, y me comentas:
Dim wordApp As Object
On error resume next
Set wordApp = CreateObject("word.Application")
wordApp.Visible = True
wordApp.Documents.Open Filename:="C:DOCUMENTO1.doc"
No logro que funcione correctamente, puesto que siempre se abre un nuevo word y me aparece un mensaje de aviso. Por eso la condición que pretendía era lo que me parecía más correcto, pues evitaba la apertura de un nuevo word y avisos.
Pero como esa condición parece imposible, he solucionado el problema con un hiperlynk:
ActiveWorkbook.FollowHyperlink Address:= _
"C:Documento1.doc"
Así he logrado que no se abra un nuevo word y siempre aparece el mismo documento. Eso sí, la barra web también se hace visible. He pensado hacer una macro que cierre la barra:
Application.CommandBars("Web").Visible = False
Pero no logro que sea una macro de las que he leído auto open, de modo que cuando el Documento1 se abra, la macro se ejecute y se oculte la barra web ¿Cómo la hago? ¿Debo grabarla en el mismo "Documento1" o donde? ¿Qué instrucciones debo dar?
Gracias siempre.
Estupendo. Gracias.
Yo coloqué la rutina para ocultar la barra en el evento Open del Word y me da resultados.
En el objeto ThisDocument del editor de word irá:
Private Sub Document_Open()
CommandBars("Web").Visible = False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas