Posts Tagged ‘Macro LibreOffice’

Macro LibreOffice : Automatizar Impressão (writer)

agosto 27, 2021

Abaixo, um programinha para automatizar a impressão de um documento de texto. Os comandos ImputBox e msgbox são adaptações para algumas peculiaridades da minha impressora ink tank.  A macro básica foi obtida em manual de Andrew Pytoniak.

Sub Main

rem define variáveis
dim document as object
dim sRetorno, Proxima, Proxima2, Proxima3 As String
dim Props(1) As New com.sun.star.beans.PropertyValue

sRetorno = InputBox(“Começa a tarefa pelo primeiro bloco ? Já adequou na impressora a opção direita-esquerda ?”,”tarefa”,”sim”,1440 * 2, 1440 * 4)
If sRetorno = “sim” then
msgbox “A tarefa (primeiro bloco) vai começar”
Else
GoTo Proxima
End If

Props(0).Name = “Pages”
Props(0).Value = “1-16”
ThisComponent.print(Props())
Props(0).Value = “17-32”
ThisComponent.print(Props())
msgbox “Espere a impressora aspirar mais tinta”
Props(0).Value = “33-48”
ThisComponent.print(Props())
Props(0).Value = “49-64”
ThisComponent.print(Props())
Props(0).Value = “65-80”
ThisComponent.print(Props())

Proxima:
sRetorno = InputBox(“Continua a tarefa (segundo bloco) ?”,”tarefa”,”sim”,1440 * 2, 1440 * 4)
If sRetorno = “sim” then
msgbox “A tarefa (segundo bloco) vai continuar”
Else
GoTo Proxima2
End If

Props(0).Name = “Pages”
Props(0).Value = “81-96”
ThisComponent.print(Props())
Props(0).Value = “97-112”
ThisComponent.print(Props())
msgbox “Espere a impressora aspirar mais tinta”
Props(0).Value = “113-128”
ThisComponent.print(Props())
Props(0).Value = “129-144”
ThisComponent.print(Props())
Props(0).Value = “145-160”
ThisComponent.print(Props())

Proxima2:
sRetorno = InputBox(“Continua a tarefa (terceiro bloco) ?”,”tarefa”,”sim”,1440 * 2, 1440 * 4)
If sRetorno = “sim” then
msgbox “A tarefa (terceiro bloco) vai continuar”
Else
GoTo Proxima3
End If

Props(0).Name = “Pages”
Props(0).Value = “161-176”
ThisComponent.print(Props())
Props(0).Value = “177-192”
ThisComponent.print(Props())
msgbox “Espere a impressora aspirar mais tinta”
Props(0).Value = “193-208”
ThisComponent.print(Props())
Props(0).Value = “209-224”
ThisComponent.print(Props())
Props(0).Value = “225-240”
ThisComponent.print(Props())

Proxima3:
msgbox “fim da tarefa”

End Sub