UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

Invitado


Invitado
Buenos días, necesitaría esta MACRO porque me mandan pasar los pedidos de los clientes en WORD, y no se como empezar.
Un saludo

tyno


Hola Luis.
Te paso esta macro que he encontrado en la Web para pasar datos Excel a Word y a la cual le he adaptado un par de cosas. 
Deberías probarla y/o adaptarla a tu archivo y si no funciona tendrías que subir el archivo de ejemplo para ver que se puede hacer. Saludos

Sub Excel_Word()
On Error Resume Next
Dim Wordapn As Object

'el archivo Word se guarda en la misma ruta que el archivo Excel
ruta = ThisWorkbook.Path

'copiar rango, en este caso supone que todos los datos desde A1 pueden ser seleccionados y copiados
'si no,  determinar el rango a copiar
Range("a1").CurrentRegion.Copy
 
'crear nueva aplicación Word
Set Wordapn = CreateObject("Word.Application")

'nombre del archivo word, puede hacer referencia a una celda u otro dato
n_archivo = "mi_doc_word"
 
With Wordapn
  .Visible = True
  .Activate
End With
 
'crear nuevo documento Word
Wordapn.Documents.Add
 
'pegar celdas Excel
Wordapn.Selection.Paste


'guardar como
Wordapn.ActiveDocument.SaveAs ruta & "\" & n_archivo & ".doc"
 
'liberar el objeto Word
Set Wordapn = Nothing
 
End Sub

Invitado


Invitado
Perfecto, 
El único problema, que no consigo la ruta para grabar el documento word ni el nombre del archivo, a lo mejor estoy haciendo algo mal, si me puedes hechar una manilla te lo agradecería y si es posible que el documento Word se abra en horizontal. Te mando el archivo
Un saludo
Archivos
Pedido.xls
(87 KB)

tyno


Luis, si bien no he probado el archivo pero veo que hay que esta mal en una linea:

Wordapn.ActiveDocument.SaveAs ruta & "G:\Verano 2.014 MODULOS PEDIDOS\Pedidos\" & Pedido & ".doc"

Prueba de quitar la variable "ruta";  si observas en el código, al principio dicha variable ya toma una ruta que es la misma donde esta ubicado tu archivo Excel:
ruta = ThisWorkbook.Path por lo tanto esa linea quedó mal redactada solo tendría que ir la dirección o ruta que te interesa o sea  "G:\Verano 2.014 MODULOS PEDIDOS\Pedidos\" & Pedido & ".doc":

Wordapn.ActiveDocument.SaveAs "G:\Verano 2.014 MODULOS PEDIDOS\Pedidos\" & Pedido & ".doc"

Prueba y me avisas si te sigue fallando. Saludos

Invitado


Invitado
Buenos días tyno, me sale perfecto el word, pero:
Con el nombre Documento 1 y cuando le doy a guardar, porque no me lo guarda, me pone el nombre modelo1, tengo que cambiar el nombre por el de Pedido, y despues de guardarlo siempre tengo que abrir el archivo y ponerlo en HORNZONTAL.
Un saludo
Archivos
Pedido.xls
(74 KB)

tyno


Hola Luis.
He probado el archivo ultimo que has subido y guarda perfecto las celdas seleccionadas en Excel en un archivo Word con el nombre "Pedido". ¿No tendrás ya creado un archivo Word  con el nombre Pedido por eso ese problema a la hora de guardar el archivo tambien con el mismo nombre? Saludos

Invitado


Invitado
Buenas tardes tyno, haber si me explico mejor, el documento Word se abre y me pega todo lo seleccionado perfecto.
Pero no guarda el pedido, tengo que hacerlo manualmente en "guardar como", y me sale asignado el nombre "Modelo1" y va directamente a MIS DOCUMENTOS. Arriba encima de archivo sale con el nombre " Documento1".
Un saludo

tyno


Te entiendo Luis, pero el mismo archivo, el ultimo que subiste, yo lo puedo guardar con el nombre Pedido y no Modelo 1. 
Has una cosa, quita provisoriamente la linea "On Error Resume Next" en el código y ejecuta la macro, has todo el proceso hasta ver si aparece un mensaje de error, das depurar el error y te fijas que linea te marca como error. Esto va a pasar desde luego siempre y cuando exista un error. Saludos

Invitado


Invitado
Muy amable tyno, lo he hecho, me da error en estas dos direciones:

Wordapn.ActiveDocument.SaveAs "G:\Verano 2.014 MODULOS PEDIDOS\Pedidos\" & Pedido & ".doc"

y

Wordapn.ActiveDocument.SaveAs "G:\" & Pedido & ".doc"

tyno


Para empezar por lo que veo estas guardando el documento en dos partes ¿esto es así?

Con respecto a las lineas de error:

Wordapn.ActiveDocument.SaveAs "G:\Verano 2.014 MODULOS PEDIDOS\Pedidos\" & Pedido & ".doc"

En esta linea entiendo que en la unidad G tienes una carpeta llamada "Verano 2.014 MODULOS PEDIDOS" y dentro de esta otra carpeta llamada "Pedidos" en la cual finalmente tiene que guardarse el archivo Word que se llama Pedido.doc ¿Esto es esta bien?

Y esta linea no parece tener mayor problema: "G:\" & Pedido & ".doc", a menos que tengas permisos especiales para hacer alguna modificación en esa unidad y no puedas guardar el archivo ahí.

No se, tu dirás si esta bien o no lo que te he preguntado

Invitado


Invitado
Que mal me explico, hice lo que me dijiste quitar la linia
On Error Resume Next
y me dio error en la línea
Wordapn.ActiveDocument.SaveAs "G:\Verano 2.014 MODULOS PEDIDOS\Pedidos\" & Pedido & ".doc" 
como me dio error, quise probar con otra dirección y quite la que me dio error, pero se que estaba bien, y puse 
Wordapn.ActiveDocument.SaveAs "G:\" & Pedido & ".doc"
 y también me dio error.
No que puse dos direcciones, puse las dos por separado y las dos me dio error.
Yo no es que entienda mucho, pero para mi, el problema es que en vez de guardar, lo que hace es abrir el archivo Word bien copiado, pero no lo guarda

tyno


Hola Luis.

Ahora que lo he visto bien creo que ya se cual es el problema:


Wordapn.ActiveDocument.SaveAs "G:\Verano 2.014 MODULOS PEDIDOS\Pedidos\" & Pedido & ".doc"

Ese nombre Pedido que he remarcado en rojo, el que  estas utilizando en esa posición la macro lo toma como una variable tipo variant y resulta que esa variante no tiene ningún valor asignado, es igual a null, por lo tanto estas queriendo guardar el archivo sin ningún nombre lo cual no puede ser.
Entonces tendría que quedar así: 

Wordapn.ActiveDocument.SaveAs "G:\Verano 2.014 MODULOS PEDIDOS\Pedidos\Pedido.doc"

Como parece que tu archivo siempre se va a llamar Pedido, entonces no es necesario establecer ninguna variable que haga referencia al nombre del archivo, a menos que el nombre del archivo a guardar no sea siempre el mismo, en ese caso si te conviene una variable sino vas a tener que ingresar a modificar esa linea cada vez que quieras modificar el nombre del archivo. Saludos

Invitado


Invitado
Perfecto, lo has logrado, eres un fenómeno, no sabes como te lo agradezco, para redondear, como son tablas de tallas y son bastantes, pregunto se podría decir al word que me lo pegue en  HORIZONTAL o eso lo tengo que configurar en el documento creado.
Muchísimas gracias por tu ayuda eres un genio.

tyno


He buscado si de alguna manera se puede establecer el documento Word de forma horizontal por medio de una macro de Excel pero no he encontrado nada. Quizás deberías establecer una macro en Word, en Project, para que te afecte todos los documentos y buscar una macro que al abrir Word cambie automáticamente la orientación de la Hoja, pero en esto ya no sabría asesorarte bien porque no conozco mucho de macros Word aunque he hecho algunas pero bastantes rusticas. Si no, no quedaría otra que cambiar la orientación manualmente. Saludos

Invitado


Invitado
Okey, muchísimas gracias FENÓMENO y PACIENTE, como me has ayudado.
Un saludo emocionado

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.