Word - MACRO AUTOOPEN

   
Vista:

MACRO AUTOOPEN

Publicado por Miguel (14 intervenciones) el 07/04/2013 11:24:06
Un saludo a todos, estoy atascado y necesito ayuda, veris es muy sencillo, pero no logro hacer que funcione. Me explico.

He creado en word una macro autoopen en mi proyecto llamado A en ThisDocument, para que se ejecute solo cuando abra este documento de word llamado a.doc
Esta es su instruccion.

Sub autoopen()
'Selecciono todo el documento, lo copio y cierro el documento
Selection.WholeStory
Selection.Copy
ActiveWindow.Close

' Previo a todo esto, ya tenia abierto otro documento de word llamémoslo X, aquí en X, pego lo copiado de a.doc
Selection.PasteAndFormat (wdPasteDefault)
End Sub

Esta macro me funciona perfectamente, cuando la ejecuta sin autoopen, pero... cuando le digo que lo haga a través de la macro autoopen, es decir, hago doble clic en a.doc que tengo en mi carpeta, veo como al abrirlo, rapidamente me copia el contenido y cierra a.doc, pero no me pega en X nada.

Por favor que hago mal, espero que una mente más abierta que la mía me haga ver la luz. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana

MACRO AUTOOPEN

Publicado por Antoni Masana (158 intervenciones) el 08/04/2013 07:23:33
Antes de pegar le tienes que decir donde pegarlo.

Supongo que es tan sencillo como poner esta instrucción antes de pegar:

Windows(1).Activate

1
2
3
4
5
6
7
8
9
10
Sub autoopen()
    ' --- Selecciono todo el documento, lo copio y cierro el documento
    Selection.WholeStory
    Selection.Copy
    ActiveWindow.Close
 
    ' --- Previo a todo esto, ya tenia abierto otro documento de word llamémoslo X, aquí en X, pego lo copiado de a.doc 
    Windows(1).Activate
    Selection.PasteAndFormat (wdPasteDefault)
End Sub


Como lo he probado ya me contaras si funciona

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MACRO AUTOOPEN

Publicado por Miguel (14 intervenciones) el 08/04/2013 11:33:09
Hola Antonio, muchas gracias por contestar, he probado como me indicas, pero sigue igual. No me pega en el otro documento, al cerrarse el documento autoopen.
Veo como al abrir el documento a.doc, (el que lleva autoopen), y todo esto en menos de un parpadeo: se selecciona todo, me imagino que copia, se cierra y me aparece el documento “x”, pero… no pega nada.
Sin embargo, si pega, si utilizo pegar con el atajo de teclas Ctrl +V

Verdaderamente estoy atascado.
Ten dría que ver algo, que el autoopen solo funcione con este documento en concreto. Es que no se me ocurre nada. Es la primera vez que trasteo con todo esto.

Algún aporte. Tic-tac-tic-tac-tic-tac.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana

MACRO AUTOOPEN

Publicado por Antoni Masana (158 intervenciones) el 08/04/2013 13:39:38
He realizado una prueba y esto parece que funciona:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub autoopen()
 
    MsgBox Windows(1).Caption & vbCrLf & Windows(2).Caption
 
    Selection.WholeStory
    Selection.Copy
 
    MsgBox Windows(1).Caption & vbCrLf & Windows(2).Caption
 
 
    Windows(2).Activate
    Selection.PasteAndFormat (wdPasteDefault)
 
    MsgBox Windows(1).Caption & vbCrLf & Windows(2).Caption
 
    Windows(1).Activate
    ActiveWindow.Close
 
End Sub


Te cuento como creo que funciona:

- Abre el documento A.docm que en este momento es el activo, selecciona todo el contenido y lo copia al portapapeles.

- Activa el segundo Documento ( x.doc ) y pega el contenido del portapapeles.

- Activa el primer documento ( a.doc, ) y lo cierra.

Los Msgbox los puedes quitar, son para saber que documento es el 1 y el 2

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MACRO AUTOOPEN

Publicado por Miguel (14 intervenciones) el 08/04/2013 16:06:46
Hola Antonio, el orden por el que quiesiera hacer las cosas son:

1º Desde Access tengo un botón de comando, el cual me abre el documento a.doc, y me filtra un registro. Esto me funciona.

2º Teniendo abierto "a.doc" ejecuto una macro desde word que me copia el contenido de "a.doc" y cierra el documento.

3ª Al cerrarse "a.doc" automaticamente se me queda activado "x.doc" y me pega lo de "a.doc". Hasta aqui todo lo he realizado siempre bien. Lo que queria ahora es, desde access, al ejecutar el comando para abrir el "a.doc" que sería autoopen, haria la función de: al mismo abrirse por ser autoopen, se ejecuta solo este documento y me copia todo, cierra, se me va al otro documento y pego.
Perdona por la parrafada.

Al ejecutar tu último codigo, me salta un mensaje desde Word diciendo que "El elemento del Conjunto solicitado no existe. Aceptar o Ayuda.
En fin, ya ves como estoy.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MACRO AUTOOPEN

Publicado por Miguel (14 intervenciones) el 08/04/2013 18:45:54
Antonio, he buscado otra alternativa a lo que queria hacer he abierto primero el doc x y desde ahí, he creado una macro que me abre el a.doc (en autoopen), me copia su contenido, me cierra el documento y pega en el doc X.

Agradezco enormemente tu interes y tu colaboración. Muchisimas gracias.

No quisiera ser un aprovechado, pero si puedes, por favor te agradecía que echaras un vistazo a otra pregunta que realice en el apartado de Access, y que creo que pertenece más a Word, abro un nuevo hilo con la misma prengunta pero el apartado de Word.
Si puedes decirme algo o cualquier otra persona se lo agradecería.

Un Saludo a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar