Macro Excell a Word

17/08/2007 - 09:46 por Jak | Informe spam
Hola me ha surgido otra pregunta
Tengo una hoja de excell y voy llevando celdas hacia Word con una Macro que
me facilito el maestro Hector y todo me ha funcionado super bien, queria
saber si a la vez puedo llevar por ejemplo A1:D8 de la misma hoja Hacia Word,
darle formato a Word para cada linea desde la macro.
adjunto la macro de Hector,desde ya gracias por su tiempo.

Sub A_Word()
Dim wDoc As Word.Document
With CreateObject("Word.Application")
.Visible = True
Set wDoc = .Documents.Open("c:\documents and
settings\jaimebettyandrei\<OJO: esto no paso>\Nao\presupuesto1.doc")
End With
With Worksheets("presupuesto")
wDoc.Paragraphs(1).Range = .Range("g8") & vbCr
wDoc.Paragraphs(3).Range = .Range("g9") & vbCr
wDoc.Paragraphs(5).Range = .Range("a6") & vbCr
wDoc.Paragraphs(7).Range = .Range("a8") & vbCr
wDoc.Paragraphs(12).Range = .Range("a13") & vbCr
wDoc.Paragraphs(13).Range = .Range("a14") & vbCr
End With
Set wDoc = Nothing
End Sub

Jak

PD que significado le da "& vbCr" a esta funcion?

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
17/08/2007 - 23:06 | Informe spam
hola, Jak !

__ la consulta original __
...saber si a la vez puedo llevar por ejemplo A1:D8 de la misma hoja Hacia Word
darle formato a Word para cada linea desde la macro.adjunto la macro [...]
PD que significado le da "& vbCr" a esta funcion?



1) [creo que] necesitaras comentar si el rango de tu ejemplo [A1:D8]... ha de pasar al documento word
- *celda-por-celda* en un *paragraphs(x)* -?-
- cada celda *concatenada* con otra/s como parte-media en algun parrafo -?-
- como *tabla*/objeto/vinculo/imagen/... -?-
- o alguna intencion que no alcanzo a *pasar* [visible] en esta consulta :))

2) con relacion a "& vbCr": al estar *sustituyendo* cada parrafo de word por el contenido de celdas en una hoja de excel
a) estas incluyendo en la sustitucion el caracter en word de fin de parrafo por el texto de la celda
b) [con la modificacion] se agrega/repone un *salto de linea* luego del texto de la celda [vbCr significa: Carriage Return]

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo expuesto __
Sub A_Word()
Dim wDoc As Word.Document
With CreateObject("Word.Application")
.Visible = True
Set wDoc = .Documents.Open("c:\documents and settings\jaimebettyandrei\<OJO: esto no paso>\Nao\presupuesto1.doc")
End With
With Worksheets("presupuesto")
wDoc.Paragraphs(1).Range = .Range("g8") & vbCr
wDoc.Paragraphs(3).Range = .Range("g9") & vbCr
wDoc.Paragraphs(5).Range = .Range("a6") & vbCr
wDoc.Paragraphs(7).Range = .Range("a8") & vbCr
wDoc.Paragraphs(12).Range = .Range("a13") & vbCr
wDoc.Paragraphs(13).Range = .Range("a14") & vbCr
End With
Set wDoc = Nothing
End Sub
Respuesta Responder a este mensaje
#2 Jak
18/08/2007 - 00:08 | Informe spam
Hola Hector
Lo que quiero es adicionar una tabla despues de la linea 13 y luego insertar
un rectangulo diseñado en excel despues de esta tabla.

en vez de "sustituir" se podra "insertar" y dar el formato de cada linea
desde excel? como por ejemplo, a la izquierda, negrita, font, tamaño,etc?

desde ya gracias Hector
cuidate saludos.
Jak
Respuesta Responder a este mensaje
#3 Héctor Miguel
18/08/2007 - 03:48 | Informe spam
hola, Jak !

Lo que quiero es adicionar una tabla despues de la linea 13 y luego insertar un rectangulo dise#ado en excel despues de esta tabla.

en vez de "sustituir" se podra "insertar" y dar el formato de cada linea desde excel?
como por ejemplo, a la izquierda, negrita, font, tama#o,etc?



1) ya que tienes establecida una referencia en tu proyecto de macros en excel a la biblioteca de objetos de word...
[te sugiero] aprovecha la ayuda *sensitiva* desde excel-vba, que se muestra *en pantalla* [p.e.]
-> cuando pones un punto despues de algun calificador de objetos
desde donde podras observar cuales son los metodos/propiedades/etc. que le son inherentes/aplicables/...
[p.e.] wDoc.Paragraphs(x). <= despues de poner el punto aparecera la ayuda sensitiva
y segun la propiedad o metodo que selecciones... seguiran apareciendo las que correspondan a la seleccion
.Font .Aligment <-> .Font.Bold etc. etc. etc.

2) considerando que este foro es mas bien relacionado con excel...
[te sugiero] aprovecha las caracteristicas integrales para vincular objetos entre las aplicaciones
[asumiendo que tu libro/hoja de excel NO la estas creando *al vuelo* p.e. desde VB-Satnd-alone]
por lo que resultaria mas *agil* poner nombres a los rangos y pegar vinculos en tu documento word [exactamente] donde los necesites

3) si la creacion de tu libro/hoja es *al vuelo*... [probablemente] te convendria consultar en el foro de word -?-

4) para +/- *controlar* antes o despues de cual parrafo quieres insertar alguna linea adicional [o tablas o... ???]
lo menos *complicado* que se me ocurre, es que agregues una linea *fantasma* y luego la sustituyas por lo necesario
[p.e.] si despues del parrafo 13 necesitas *pegar* una tabla [o rango de celdas] desde excel [p.e. el rango A1:D4]

wDoc.Paragraphs(13).Range.InsertAfter "texto provisional ..." & vbCr
.Range("a1:d4").Copy
wDoc.Paragraphs(14).Range.Paste

lo anterior pega una tabla en el *nuevo* parrafo 14, con el contenido del rango en excel especificado por el .Copy
[faltaria aplicar formatos, etc. pero puedes revisar la sugerencia del punto 1] :))

5) aparte de consultar en foros *especificos* de la aplicaicon [word]...
puedes revisar algunos metodos y ejemlos de macros en word...
http://word.mvps.org/FAQs/MacrosVBA/index.htm

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida