autonumerico controlado por el numero de impresiones??

20/02/2006 - 18:03 por gere | Informe spam
Hola estoy liado con el word, tengo un documento (hoja de pedido)y
necesitaria saber como se puede poner un numero que vaya incrementando cada
vez que se imprime el documento, o sea el numero de pedido.

Preguntas similare

Leer las respuestas

#1 Marta PM [MVP Office]
20/02/2006 - 21:06 | Informe spam
Hola:
Revisa el siguiente artículo:
http://pmueckay.mykb.com/Article_CC639.aspx

Marta PM
Saúdos/Saludos
MVP Office

(Si quieres escribirme ya sabes lo que no quiero)
Más consejos en www.fermu.com
__________
La información contenida en este mensaje se proporciona "TAL CUAL", sin garantías
explícitas ni implícitas, y no otorga derecho alguno. Usted asume cualquier riesgo al
poner en práctica lo recomendado o sugerido en el presente mensaje.

¿Quieres saber que es un MVP?
http://mvp.support.microsoft.com/

"gere" escribió en el mensaje
news:
Hola estoy liado con el word, tengo un documento (hoja de pedido)y
necesitaria saber como se puede poner un numero que vaya incrementando cada
vez que se imprime el documento, o sea el numero de pedido.
Respuesta Responder a este mensaje
#2 David
20/02/2006 - 21:44 | Informe spam
¿Cómo estás en VBA? Puedes implementar lo que deseas si interceptas el
evento Imprimir. Prueba hacer lo siguiente:

Primero:
Utilizando tu Block de Notas, creas un archivo en el que solamente aparezca
el número 1, y lo guardas en la raiz de c: con el nombre “C:\Correlativo.txt”.

Segundo:
En tu documento insertas un campo con el marcador “Correlativo”. Esto lo
haces activando la barra de herramientas “Formulario”, luego te aseguras que
el cursor esté en la posición correcta, pulsas el botón “Campo con texto”, y
de inmediato pulsas también el botón “Opciones de campos de formularios”.
Por último, en el cuadro “Marcador” escribes “Correlativo” y aceptas el
cuadro de diálogo.

Tercero:
Creas un módulo con el siguiente código:

Dim X As New Clase1
Sub AutoOpen()
Open "c:\Correlativo.txt" For Input As #1
Input #1, xc
Close #1
ActiveDocument.FormFields("Correlativo").Result = xc
Set X.appWord = Word.Application
End Sub

Observa que "c:\Correlativo.txt" es la ubicación y el nombre del documento
de texto que creaste en el paso primero.


Cuarto:
Creas un módulo de clase con el siguiente código (el código de un módulo de
clase no te funcionará hasta que la definas correctamente. Esto es lo que
hace la última línea del código anterior).

Public WithEvents appWord As Word.Application
Private Sub appWord_DocumentBeforePrint(ByVal Doc As Document, Cancel As
Boolean)
If UCase(ActiveDocument.Name) = UCase("Correlativo en Word.Doc") Then
Cancel = True
Open "c:\Correlativo.txt" For Output As #1
Print #1, ActiveDocument.FormFields("Correlativo").Result + 1
ActiveDocument.FormFields("Correlativo").Result =
ActiveDocument.FormFields("Correlativo").Result + 1
Close #1
End If
End Sub

Observa que en la lína del If en el código anterior, estoy suponiendo que tu
documento de Word se llama "Correlativo en Word.Doc". Cámbialo al nombre de
tu propio documento, pero no olvides agregarle el ".doc".

Quinto:
Grabas tu archivo, y lo vuelves a abrir.

De aquí en adelante, cada vez que imprimas el archivo, Word e incrementará
automáticamente en 1 el correlativo. El único problema, es que el
correlativo te estará mostrando en pantalla el número de la última impresión.
Un poco incómodo, pero... ¿Qué le vamos a hacer? ;-)

Saludos.


"gere" escribió:

Hola estoy liado con el word, tengo un documento (hoja de pedido)y
necesitaria saber como se puede poner un numero que vaya incrementando cada
vez que se imprime el documento, o sea el numero de pedido.

Respuesta Responder a este mensaje
#3 David
20/02/2006 - 22:16 | Informe spam
Perdón. Mientras probaba coloqué una línea que no debes incluir en tu
código. En el paso cuarto, quita la línea

Cancel = True

Si la dejas tu documento nunca guardará los cambios...



"David" escribió:

¿Cómo estás en VBA? Puedes implementar lo que deseas si interceptas el
evento Imprimir. Prueba hacer lo siguiente:

Primero:
Utilizando tu Block de Notas, creas un archivo en el que solamente aparezca
el número 1, y lo guardas en la raiz de c: con el nombre “C:\Correlativo.txt”.

Segundo:
En tu documento insertas un campo con el marcador “Correlativo”. Esto lo
haces activando la barra de herramientas “Formulario”, luego te aseguras que
el cursor esté en la posición correcta, pulsas el botón “Campo con texto”, y
de inmediato pulsas también el botón “Opciones de campos de formularios”.
Por último, en el cuadro “Marcador” escribes “Correlativo” y aceptas el
cuadro de diálogo.

Tercero:
Creas un módulo con el siguiente código:

Dim X As New Clase1
Sub AutoOpen()
Open "c:\Correlativo.txt" For Input As #1
Input #1, xc
Close #1
ActiveDocument.FormFields("Correlativo").Result = xc
Set X.appWord = Word.Application
End Sub

Observa que "c:\Correlativo.txt" es la ubicación y el nombre del documento
de texto que creaste en el paso primero.


Cuarto:
Creas un módulo de clase con el siguiente código (el código de un módulo de
clase no te funcionará hasta que la definas correctamente. Esto es lo que
hace la última línea del código anterior).

Public WithEvents appWord As Word.Application
Private Sub appWord_DocumentBeforePrint(ByVal Doc As Document, Cancel As
Boolean)
If UCase(ActiveDocument.Name) = UCase("Correlativo en Word.Doc") Then
Cancel = True
Open "c:\Correlativo.txt" For Output As #1
Print #1, ActiveDocument.FormFields("Correlativo").Result + 1
ActiveDocument.FormFields("Correlativo").Result =
ActiveDocument.FormFields("Correlativo").Result + 1
Close #1
End If
End Sub

Observa que en la lína del If en el código anterior, estoy suponiendo que tu
documento de Word se llama "Correlativo en Word.Doc". Cámbialo al nombre de
tu propio documento, pero no olvides agregarle el ".doc".

Quinto:
Grabas tu archivo, y lo vuelves a abrir.

De aquí en adelante, cada vez que imprimas el archivo, Word e incrementará
automáticamente en 1 el correlativo. El único problema, es que el
correlativo te estará mostrando en pantalla el número de la última impresión.
Un poco incómodo, pero... ¿Qué le vamos a hacer? ;-)

Saludos.


"gere" escribió:

> Hola estoy liado con el word, tengo un documento (hoja de pedido)y
> necesitaria saber como se puede poner un numero que vaya incrementando cada
> vez que se imprime el documento, o sea el numero de pedido.
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida