Estamos desenvolvendo um modelo de fatura para Word, que contém um número de fatura em um campo na parte superior da página.
Gostaríamos que o número da fatura fosse incrementado automaticamente (a partir do número da última fatura) e que o nome do arquivo fosse baseado no número da fatura.
Todos eles serão salvos no mesmo diretório.
Responder1
eu encontreiesseque acho que resolverá o problema:
Use uma macro Autonew para adicionar um número sequencial a um documento e salvá-lo com esse número.
No modelo a partir do qual você cria o documento, insira um marcador chamado Pedido no local onde deseja que o número sequencial apareça e crie uma macro AutoNovo no modelo, conforme a seguir:
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
Se você não precisa exibir o número no documento, mas apenas deseja salvá-lo com um número sequencial, não há necessidade de criar o marcador no modelo e você deve então excluir a penúltima linha do código.
Responder2
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