¿Cómo asignar plantilla a documento creado?

25/11/2004 - 09:49 por FMI | Informe spam
Tengo una aplicación de pedidos a proveedores que genera documentos de texto
(.txt), y necesito incluir el membrete de nuestra empresa de fondo para lo
cual he creado una plantilla, pero como el documento txt no está creado por
Word tiene el fondo en blanco, y al ser muchos documentos debe hacerlo de
forma automática y llamarlos desde MSDOS, ¿podría unirlos arrancando desde la
línea de comandos?

gracias por leer este mensaje.

Preguntas similare

Leer las respuestas

#1 Nilda Beatriz Díaz
25/11/2004 - 14:17 | Informe spam
Hola, te paso el código que podría ayudarte.
Este código lo ejecutas en Word desde un documento en blanco.
Te abre el archivo *.txt, lo copia en un .doc le aplica la plantilla y lo
guarda como .doc

Verifica en el código los lugares donde tienes los archivos y la plantilla,
tienes que colocar el camino que corresponde.

Sub Macro1()

Dim Archivo As String

Dim Documento As Document

Archivo = Dir("C:\Prueba\Docs\*.txt")

'en la línea anterior tienes que indicar el camino donde tendrás los
documentos dejando el *.txt

Do While Len(Archivo) <> 0

Set Documento = Documents.Open(FileName:="C:\Prueba\Docs\" & Archivo)

'y en esta también indicar el mismo camino de tus archivos dejando el "&
Archivo"

Selection.WholeStory

Selection.Copy

Documents.Add Template:= _

"C:\Documents and Settings\Administrador\Datos de
programa\Microsoft\Plantillas\ConEnca.dot" _

, NewTemplate:=False, DocumentType:=0

'Y en esta también tienes que ver donde tienes guardada tu plantilla y
modificar

Selection.PasteAndFormat (wdPasteDefault)

Documento.Close

ActiveDocument.SaveAs "C:\ Prueba\Docs\" & replace(Archivo,".txt",".doc")

'repite el mismo camino donde tienes los archivos, te los grabará como
.doc

ActiveDocument.Close

Archivo = Dir

Loop

End Sub


Suerte
Nilda Beatriz Díaz
Desde el tercer planeta a partir del Sol.
"FMI" escribió en el mensaje
news:
Tengo una aplicación de pedidos a proveedores que genera documentos de
texto
(.txt), y necesito incluir el membrete de nuestra empresa de fondo para lo
cual he creado una plantilla, pero como el documento txt no está creado
por
Word tiene el fondo en blanco, y al ser muchos documentos debe hacerlo de
forma automática y llamarlos desde MSDOS, ¿podría unirlos arrancando desde
la
línea de comandos?

gracias por leer este mensaje.
Respuesta Responder a este mensaje
#2 FMI
25/11/2004 - 15:25 | Informe spam
Muchas gracias por tu ayuda, lo probaré y posteo resultados

FMI

"Nilda Beatriz Díaz" escribió:

Hola, te paso el código que podría ayudarte.
Este código lo ejecutas en Word desde un documento en blanco.
Te abre el archivo *.txt, lo copia en un .doc le aplica la plantilla y lo
guarda como .doc

Verifica en el código los lugares donde tienes los archivos y la plantilla,
tienes que colocar el camino que corresponde.

Sub Macro1()

Dim Archivo As String

Dim Documento As Document

Archivo = Dir("C:\Prueba\Docs\*.txt")

'en la línea anterior tienes que indicar el camino donde tendrás los
documentos dejando el *.txt

Do While Len(Archivo) <> 0

Set Documento = Documents.Open(FileName:="C:\Prueba\Docs\" & Archivo)

'y en esta también indicar el mismo camino de tus archivos dejando el "&
Archivo"

Selection.WholeStory

Selection.Copy

Documents.Add Template:= _

"C:\Documents and Settings\Administrador\Datos de
programa\Microsoft\Plantillas\ConEnca.dot" _

, NewTemplate:=False, DocumentType:=0

'Y en esta también tienes que ver donde tienes guardada tu plantilla y
modificar

Selection.PasteAndFormat (wdPasteDefault)

Documento.Close

ActiveDocument.SaveAs "C:\ Prueba\Docs\" & replace(Archivo,".txt",".doc")

'repite el mismo camino donde tienes los archivos, te los grabará como
..doc

ActiveDocument.Close

Archivo = Dir

Loop

End Sub


Suerte
Nilda Beatriz Díaz
Desde el tercer planeta a partir del Sol.
"FMI" escribió en el mensaje
news:
> Tengo una aplicación de pedidos a proveedores que genera documentos de
> texto
> (.txt), y necesito incluir el membrete de nuestra empresa de fondo para lo
> cual he creado una plantilla, pero como el documento txt no está creado
> por
> Word tiene el fondo en blanco, y al ser muchos documentos debe hacerlo de
> forma automática y llamarlos desde MSDOS, ¿podría unirlos arrancando desde
> la
> línea de comandos?
>
> gracias por leer este mensaje.



Respuesta Responder a este mensaje
#3 FMI
30/11/2004 - 08:23 | Informe spam
Me ha servido de mucha ayuda el código que me has pasado, era justo lo que
necesitaba, sólo tengo un problemilla ya que el membrete está en la parte
superior izquierda de la plantilla y necesito escribir a esa altura los datos
del destinatario del pedido que vienen en el txt y no por debajo como ahora
los rellena, es decir necesito proteger sólo el membrete para escribir a su
alrededor no sólo por debajo.

Muchisimas gracias por tu ayuda

FMI

"FMI" wrote:

Muchas gracias por tu ayuda, lo probaré y posteo resultados

FMI

"Nilda Beatriz Díaz" escribió:

> Hola, te paso el código que podría ayudarte.
> Este código lo ejecutas en Word desde un documento en blanco.
> Te abre el archivo *.txt, lo copia en un .doc le aplica la plantilla y lo
> guarda como .doc
>
> Verifica en el código los lugares donde tienes los archivos y la plantilla,
> tienes que colocar el camino que corresponde.
>
> Sub Macro1()
>
> Dim Archivo As String
>
> Dim Documento As Document
>
> Archivo = Dir("C:\Prueba\Docs\*.txt")
>
> 'en la línea anterior tienes que indicar el camino donde tendrás los
> documentos dejando el *.txt
>
> Do While Len(Archivo) <> 0
>
> Set Documento = Documents.Open(FileName:="C:\Prueba\Docs\" & Archivo)
>
> 'y en esta también indicar el mismo camino de tus archivos dejando el "&
> Archivo"
>
> Selection.WholeStory
>
> Selection.Copy
>
> Documents.Add Template:= _
>
> "C:\Documents and Settings\Administrador\Datos de
> programa\Microsoft\Plantillas\ConEnca.dot" _
>
> , NewTemplate:=False, DocumentType:=0
>
> 'Y en esta también tienes que ver donde tienes guardada tu plantilla y
> modificar
>
> Selection.PasteAndFormat (wdPasteDefault)
>
> Documento.Close
>
> ActiveDocument.SaveAs "C:\ Prueba\Docs\" & replace(Archivo,".txt",".doc")
>
> 'repite el mismo camino donde tienes los archivos, te los grabará como
> ..doc
>
> ActiveDocument.Close
>
> Archivo = Dir
>
> Loop
>
> End Sub
>
>
> Suerte
> Nilda Beatriz Díaz
> Desde el tercer planeta a partir del Sol.
> "FMI" escribió en el mensaje
> news:
> > Tengo una aplicación de pedidos a proveedores que genera documentos de
> > texto
> > (.txt), y necesito incluir el membrete de nuestra empresa de fondo para lo
> > cual he creado una plantilla, pero como el documento txt no está creado
> > por
> > Word tiene el fondo en blanco, y al ser muchos documentos debe hacerlo de
> > forma automática y llamarlos desde MSDOS, ¿podría unirlos arrancando desde
> > la
> > línea de comandos?
> >
> > gracias por leer este mensaje.
>
>
>
Respuesta Responder a este mensaje
#4 Nilda Beatriz Díaz
02/12/2004 - 14:19 | Informe spam
Hola FMI disculpa la demora, aclaremos si lo que quieres modificar son datos
que están en el encabezado de la plantilla, no se puede.
Ahora el membrete lo tienes como imagen dentro del cuerpo de la plantilla?
De ser así, tienes que modificar el "Ajuste de texto" en las propiedades de
esa imagen.

Espero que esto te ayude.

Suerte
Nilda Beatriz Díaz
Desde el tercer planeta a partir del Sol.
"FMI" escribió en el mensaje
news:
Me ha servido de mucha ayuda el código que me has pasado, era justo lo que
necesitaba, sólo tengo un problemilla ya que el membrete está en la parte
superior izquierda de la plantilla y necesito escribir a esa altura los
datos
del destinatario del pedido que vienen en el txt y no por debajo como
ahora
los rellena, es decir necesito proteger sólo el membrete para escribir a
su
alrededor no sólo por debajo.

Muchisimas gracias por tu ayuda

FMI

"FMI" wrote:

Muchas gracias por tu ayuda, lo probaré y posteo resultados

FMI

"Nilda Beatriz Díaz" escribió:

> Hola, te paso el código que podría ayudarte.
> Este código lo ejecutas en Word desde un documento en blanco.
> Te abre el archivo *.txt, lo copia en un .doc le aplica la plantilla y
> lo
> guarda como .doc
>
> Verifica en el código los lugares donde tienes los archivos y la
> plantilla,
> tienes que colocar el camino que corresponde.
>
> Sub Macro1()
>
> Dim Archivo As String
>
> Dim Documento As Document
>
> Archivo = Dir("C:\Prueba\Docs\*.txt")
>
> 'en la línea anterior tienes que indicar el camino donde tendrás
> los
> documentos dejando el *.txt
>
> Do While Len(Archivo) <> 0
>
> Set Documento = Documents.Open(FileName:="C:\Prueba\Docs\" &
> Archivo)
>
> 'y en esta también indicar el mismo camino de tus archivos dejando
> el "&
> Archivo"
>
> Selection.WholeStory
>
> Selection.Copy
>
> Documents.Add Template:= _
>
> "C:\Documents and Settings\Administrador\Datos de
> programa\Microsoft\Plantillas\ConEnca.dot" _
>
> , NewTemplate:=False, DocumentType:=0
>
> 'Y en esta también tienes que ver donde tienes guardada tu
> plantilla y
> modificar
>
> Selection.PasteAndFormat (wdPasteDefault)
>
> Documento.Close
>
> ActiveDocument.SaveAs "C:\ Prueba\Docs\" &
> replace(Archivo,".txt",".doc")
>
> 'repite el mismo camino donde tienes los archivos, te los grabará
> como
> ..doc
>
> ActiveDocument.Close
>
> Archivo = Dir
>
> Loop
>
> End Sub
>
>
> Suerte
> Nilda Beatriz Díaz
> Desde el tercer planeta a partir del Sol.
> "FMI" escribió en el mensaje
> news:
> > Tengo una aplicación de pedidos a proveedores que genera documentos
> > de
> > texto
> > (.txt), y necesito incluir el membrete de nuestra empresa de fondo
> > para lo
> > cual he creado una plantilla, pero como el documento txt no está
> > creado
> > por
> > Word tiene el fondo en blanco, y al ser muchos documentos debe
> > hacerlo de
> > forma automática y llamarlos desde MSDOS, ¿podría unirlos arrancando
> > desde
> > la
> > línea de comandos?
> >
> > gracias por leer este mensaje.
>
>
>
Respuesta Responder a este mensaje
#5 FMI
01/02/2005 - 15:03 | Informe spam
Gracias por tu ayuda, sólo tengo un problemilla:

al llamar a word desde la línea de comandos con el modificador /m seguido de
la macro: "winword fichero.doc /mmacro1", ejecuta bien la macro pero al
terminar da el error: "CAPIModeError" en la cabecera de la ventana de ese
error pone "Traductor" y el menú "Traducir" desaparece, sin embargo si entro
en Word, abro el fichero y ejecuto la macro, no da el error y no desaparece
el menú "traducir".

gracias por leer mis mensajes y ayudarme

"Nilda Beatriz Díaz" escribió:

Hola FMI disculpa la demora, aclaremos si lo que quieres modificar son datos
que están en el encabezado de la plantilla, no se puede.
Ahora el membrete lo tienes como imagen dentro del cuerpo de la plantilla?
De ser así, tienes que modificar el "Ajuste de texto" en las propiedades de
esa imagen.

Espero que esto te ayude.

Suerte
Nilda Beatriz Díaz
Desde el tercer planeta a partir del Sol.
"FMI" escribió en el mensaje
news:
> Me ha servido de mucha ayuda el código que me has pasado, era justo lo que
> necesitaba, sólo tengo un problemilla ya que el membrete está en la parte
> superior izquierda de la plantilla y necesito escribir a esa altura los
> datos
> del destinatario del pedido que vienen en el txt y no por debajo como
> ahora
> los rellena, es decir necesito proteger sólo el membrete para escribir a
> su
> alrededor no sólo por debajo.
>
> Muchisimas gracias por tu ayuda
>
> FMI
>
> "FMI" wrote:
>
>> Muchas gracias por tu ayuda, lo probaré y posteo resultados
>>
>> FMI
>>
>> "Nilda Beatriz Díaz" escribió:
>>
>> > Hola, te paso el código que podría ayudarte.
>> > Este código lo ejecutas en Word desde un documento en blanco.
>> > Te abre el archivo *.txt, lo copia en un .doc le aplica la plantilla y
>> > lo
>> > guarda como .doc
>> >
>> > Verifica en el código los lugares donde tienes los archivos y la
>> > plantilla,
>> > tienes que colocar el camino que corresponde.
>> >
>> > Sub Macro1()
>> >
>> > Dim Archivo As String
>> >
>> > Dim Documento As Document
>> >
>> > Archivo = Dir("C:\Prueba\Docs\*.txt")
>> >
>> > 'en la línea anterior tienes que indicar el camino donde tendrás
>> > los
>> > documentos dejando el *.txt
>> >
>> > Do While Len(Archivo) <> 0
>> >
>> > Set Documento = Documents.Open(FileName:="C:\Prueba\Docs\" &
>> > Archivo)
>> >
>> > 'y en esta también indicar el mismo camino de tus archivos dejando
>> > el "&
>> > Archivo"
>> >
>> > Selection.WholeStory
>> >
>> > Selection.Copy
>> >
>> > Documents.Add Template:= _
>> >
>> > "C:\Documents and Settings\Administrador\Datos de
>> > programa\Microsoft\Plantillas\ConEnca.dot" _
>> >
>> > , NewTemplate:=False, DocumentType:=0
>> >
>> > 'Y en esta también tienes que ver donde tienes guardada tu
>> > plantilla y
>> > modificar
>> >
>> > Selection.PasteAndFormat (wdPasteDefault)
>> >
>> > Documento.Close
>> >
>> > ActiveDocument.SaveAs "C:\ Prueba\Docs\" &
>> > replace(Archivo,".txt",".doc")
>> >
>> > 'repite el mismo camino donde tienes los archivos, te los grabará
>> > como
>> > ..doc
>> >
>> > ActiveDocument.Close
>> >
>> > Archivo = Dir
>> >
>> > Loop
>> >
>> > End Sub
>> >
>> >
>> > Suerte
>> > Nilda Beatriz Díaz
>> > Desde el tercer planeta a partir del Sol.
>> > "FMI" escribió en el mensaje
>> > news:
>> > > Tengo una aplicación de pedidos a proveedores que genera documentos
>> > > de
>> > > texto
>> > > (.txt), y necesito incluir el membrete de nuestra empresa de fondo
>> > > para lo
>> > > cual he creado una plantilla, pero como el documento txt no está
>> > > creado
>> > > por
>> > > Word tiene el fondo en blanco, y al ser muchos documentos debe
>> > > hacerlo de
>> > > forma automática y llamarlos desde MSDOS, ¿podría unirlos arrancando
>> > > desde
>> > > la
>> > > línea de comandos?
>> > >
>> > > gracias por leer este mensaje.
>> >
>> >
>> >



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida