Boas, tenho usado a seguinte macro no word em visual basic, para imprimir folhas de serviço auto numeradas e queria migrar para o writer:
Sub AutoNew()
'
' AutoNew Macro
'
'
Dim Message As String, Title As String, Default As String, NumCopies As Long
Dim Rng1, Rng2 As Range
' Caixa de mensagem.
Message = "Indique o número de cópias a imprimir"
' Titulo.
Title = "Imprimir"
' Valor por defeito.
Default = "1"
' Mostra mensagem, titulo e valor.
NumCopies = Val(InputBox(Message, Title, Default))
SerialNumber = System.PrivateProfileString("\\192.168.0.150\Users\Contabilidade\Documents\folha de servico\Settings.txt", _
"MacroSettings", "SerialNumber")
NumberSerial = System.PrivateProfileString("\\192.168.0.150\Users\Contabilidade\Documents\folha de servico\Settings.txt", _
"MacroSettings", "NumberSerial")
If SerialNumber = "" Then
SerialNumber = 1
End If
If NumberSerial = "" Then
NumberSerial = 1
End If
Set Rng1 = ActiveDocument.Bookmarks("SerialNumber").Range
Set Rng2 = ActiveDocument.Bookmarks("NumberSerial").Range
Counter = 0
While Counter < NumCopies
Rng1.Delete
Rng1.Text = Format(SerialNumber, "0000")
Rng2.Delete
Rng2.Text = Format(NumberSerial, "0000")
ActiveDocument.PrintOut
SerialNumber = SerialNumber + 2
NumberSerial = NumberSerial + 2
Counter = Counter + 1
Wend
'Guarda os proximos numeros em Settings.txt.
System.PrivateProfileString("\\192.168.0.150\Users\Contabilidade\Documents\folha de servico\Settings.txt", "MacroSettings", _
"SerialNumber") = SerialNumber
System.PrivateProfileString("\\192.168.0.150\Users\Contabilidade\Documents\folha de servico\Settings.txt", "MacroSettings", _
"NumberSerial") = NumberSerial
'Recria marcador para próxima utilização.
With ActiveDocument.Bookmarks
.Add Name:="SerialNumber", Range:=Rng1
.Add Name:="NumberSerial", Range:=Rng2
End With
ActiveDocument.Save
End Sub
Agradeço desde já toda a ajuda que me possam dispensar.