Pergunte aqui
0

Macro / impressão de várias páginas.

perguntadas 2018-05-07 01:58:48 +0200

imagem do gravatar de liban

updated 2018-05-07 01:59:41 +0200

Prezados,

Estou trabalhando em uma macro que realiza alterações entre as planilhas em uma pasta de trabalho e imprime imediatamente após realizar as alterações. No entanto estou enfrentando um problema, algumas planilhas demoram para serem impressas e a macro pula a mesma, seguindo para a próxima. Quando coloco "Wait", mesmo independente do tempo (cheguei a colocar 3000), o erro persiste. Como posso proceder?


    sub PREENCHERPROTOCOLO1
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

Wait 1000
     rem ----------------------------------------------------------------------
    dispatcher.executeDispatch(document, ".uno:PrintDefault", "", 0, Array())

Wait 1000

    rem ----------------------------------------------------------------------
    dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Nr"
args2(0).Value = 9

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$F$12"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "StringName"
args4(0).Value = "X"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args4())

rem ----------------------------------------------------------------------
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "By"
args5(0).Value = 1
args5(1).Name = "Sel"
args5(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args5())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())

rem ----------------------------------------------------------------------
dim args7(1) as new com.sun.star.beans.PropertyValue
args7(0).Name = "By"
args7(0).Value = 1
args7(1).Name = "Sel"
args7(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args7())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())

rem ----------------------------------------------------------------------
dim args9(1) as new com.sun.star.beans.PropertyValue
args9(0).Name = "By"
args9(0).Value = 1
args9(1).Name = "Sel"
args9(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args9())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())

rem ----------------------------------------------------------------------
dim args11(0) as new com.sun.star.beans.PropertyValue
args11(0).Name = "ToPoint"
args11(0).Value = "$C$13"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args11())

rem ----------------------------------------------------------------------
dim args12(0) as new com.sun.star.beans.PropertyValue
args12(0).Name = "StringName"
args12(0).Value = "Cofator"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args12())

rem ----------------------------------------------------------------------
dim args13(1) as new com.sun.star.beans.PropertyValue
args13(0).Name = "By"
args13(0).Value = 1
args13(1).Name = "Sel"
args13(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args13())

rem ----------------------------------------------------------------------
dim args14(0) as new com.sun.star.beans.PropertyValue
args14(0).Name = "StringName"
args14(0).Value = "Intensidade"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args14())

rem ----------------------------------------------------------------------
dim args15(1) as new com.sun.star.beans.PropertyValue
args15(0).Name = "By"
args15(0).Value = 1
args15(1).Name = "Sel"
args15(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args15())

rem ----------------------------------------------------------------------
dim args16(0) as new com.sun.star.beans.PropertyValue
args16(0).Name = "StringName"
args16(0).Value = "Via"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args16())

rem ----------------------------------------------------------------------
dim args17(1) as new com.sun.star.beans.PropertyValue
args17(0).Name = "By ...
(mais)
editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

0

respondidas 2018-05-07 05:12:01 +0200

updated 2018-05-09 04:23:30 +0200

Ola @liban, o teste aqui com a macro sem mexer, realmente encavala tudo

Depois que fiz esta alterações, funcionou:

  1. Na aba [ PP ], selecione A1:Q38 e nomeie imp_Prescricao
  2. Na aba [ AIH ], selecione A1:K79 e nomeie imp_AIH
  3. Na aba [ ATB ], selecione A1:U41 e nomeie imp_ATB
  4. Na aba [ ANAMNESE ], selecione A1:K49 e nomeie imp_ANAMNESE
  5. Alterações na macro vide final dela.

    sub PREENCHERPROTOCOLO1
    rem ----------------------------------------------------------------------
    rem define variables
    dim document   as object
    dim dispatcher as object
    rem ----------------------------------------------------------------------
    rem get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
        rem ----------------------------------------------------------------------
        dim args2(0) as new com.sun.star.beans.PropertyValue
    args2(0).Name = "Nr"
    args2(0).Value = 9
    dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args2())
    rem ----------------------------------------------------------------------
    dim args3(0) as new com.sun.star.beans.PropertyValue
    args3(0).Name = "ToPoint"
    args3(0).Value = "$F$12"
    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())
    rem ----------------------------------------------------------------------
    dim args4(0) as new com.sun.star.beans.PropertyValue
    args4(0).Name = "StringName"
    args4(0).Value = "X"
    dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args4())
     rem ----------------------------------------------------------------------
    dim args5(1) as new com.sun.star.beans.PropertyValue
    args5(0).Name = "By"
    args5(0).Value = 1
    args5(1).Name = "Sel"
    args5(1).Value = false
    dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args5())
    dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, args5())
    dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args5())
    dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, args5())
    dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args5())
    dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
    rem ----------------------------------------------------------------------
    dim args11(0) as new com.sun.star.beans.PropertyValue
    args11(0).Name = "ToPoint"
    args11(0).Value = "$C$13"
    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args11())
    rem ----------------------------------------------------------------------
    dim args12(0) as new com.sun.star.beans.PropertyValue
    args12(0).Name = "StringName"
    args12(0).Value = "Cofator"
    dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args12())
    rem ----------------------------------------------------------------------
    dim args13(1) as new com.sun.star.beans.PropertyValue
    args13(0).Name = "By"
    args13(0).Value = 1
    args13(1).Name = "Sel"
    args13(1).Value = false
    dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args13())
    rem ----------------------------------------------------------------------
    dim args14(0) as new com.sun.star.beans.PropertyValue
    args14(0).Name = "StringName"
    args14(0).Value = "Intensidade"
    dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args14())
    rem ----------------------------------------------------------------------
    dim args15(1) as new com.sun.star.beans.PropertyValue
    args15(0).Name = "By"
    args15(0).Value = 1
    args15(1).Name = "Sel"
    args15(1).Value = false
    dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args15())
    rem ----------------------------------------------------------------------
    dim args16(0) as new com.sun.star.beans.PropertyValue
    args16(0).Name = "StringName"
    args16(0).Value = "Via"
    dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args16())
    rem ----------------------------------------------------------------------
    dim args17(1) as new com.sun.star.beans.PropertyValue
    args17(0).Name = "By"
    args17(0).Value = 1
    args17(1).Name = "Sel"
    args17(1).Value = false
    dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args17())
    rem ----------------------------------------------------------------------
    dim args18(0) as new com.sun.star.beans.PropertyValue
    args18(0).Name = "StringName"
    args18(0).Value = "Intensidade"
    dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args18())
    rem ----------------------------------------------------------------------
    dim args19(0) as new com.sun.star.beans.PropertyValue
    args19(0).Name = "ToPoint"
    args19(0).Value = "$C$13"
    dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0 ...
(mais)
editar assinalar como ofensivo Excluir Link mais

Comentários

Gilberto, sabe o que acontece, ao invés de mudar de aba, ele acaba imprimindo algumas páginas repetidamente. Ou seja, se tenho a pagina 1, 2 e 3, ao mandar imprimir, ele imprime 1,1 e 3. Mesmo ajustando o Wait. Consegue me dar uma luz?

imagem do gravatar de libanliban ( 2018-05-07 05:49:30 +0200 )editar

Oi @liban, é possível me enviar cópia do arquivo, altere dados sigilosos, envia para gilbertoschiavinatto@yahoo.com.br , fica mais fácil verificar alguma incoerência da macro e impressões, me parece que a comandos desnecessários. Posso dar uma olhada após almoço.....

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-05-07 14:45:57 +0200 )editar

O primeiro PrintDefault refere-se a que área de impressão ? Como não esta identificado dependendo de onde estiver o cursor e acionar a macro, vai dar diferença.

imagem do gravatar de Gilberto SchiavinattoGilberto Schiavinatto ( 2018-05-07 16:38:04 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2018-05-07 01:58:48 +0200

Lidas: 26 vezes

Última atualização: May 09