Macro de Word: incremento automático del número de factura y el nombre del archivo al guardar

Macro de Word: incremento automático del número de factura y el nombre del archivo al guardar

Estamos desarrollando una plantilla de factura para Word, que contiene un número de factura en un campo en la parte superior de la página.

Nos gustaría que el número de factura se incremente automáticamente (desde el último número de factura) y nos gustaría que el nombre del archivo se base en el número de factura.

Todos se guardarán en el mismo directorio.

Respuesta1

encontréesteque creo que resolverá el problema:

Utilice una macro de Autonueva para agregar un número secuencial a un documento y guardarlo con ese número.

En la plantilla a partir de la cual crea el documento, inserte un marcador llamado Orden en la ubicación donde desea que aparezca el número secuencial y cree una macro AutoNueva en la plantilla, de la siguiente manera:

Sub AutoNew()

Order = System.PrivateProfileString("C:\Settings.Txt", _
        "MacroSettings", "Order")

If Order = "" Then
    Order = 1
Else
    Order = Order + 1
End If

System.PrivateProfileString("C:\Settings.txt", "MacroSettings", _
        "Order") = Order

ActiveDocument.Bookmarks("Order").Range.InsertBefore Format(Order, "00#")
ActiveDocument.SaveAs FileName:="path" & Format(Order, "00#")

End Sub

Si no necesita mostrar el número en el documento, pero solo desea guardarlo con un número secuencial, no es necesario crear el marcador en la plantilla y luego debe eliminar la penúltima línea del código.

Respuesta2

 Sub GoGenInv()
    Selection.GoTo What:=wdGoToBookmark, Name:="BkMrk_InvNum"
    Selection.MoveRight Unit:=wdCharacter, Count:=10, Extend:=wdExtend
    Dim nInvNum As Variant
    nInvNum = Val(Selection.Text)
    nInvNum = nInvNum + 1
    Selection.Text = nInvNum
    Selection.GoTo What:=wdGoToBookmark, Name:="BkMrk_InvNum"
End Sub

información relacionada