макрос на печать интервала значений

Автор chucky, 18 ноября 2019, 12:45

0 Пользователи и 1 гость просматривают эту тему.

chucky

Доброго дня! Помогите пожалуйста, необходим макрос, чтобы при изменении значения ячейки К5 в интервале от 00000 до 100000 текущий лист отправлялся на печать.
Т.е. есть определенный бланк, при изменении К5, меняются значения бланка и он уходит в печать. Интервал,соответственно будет в дальнейшем изменяться на нужный, дабы не убить принтер 100000 страницами.
Порывшись в инете, собрал вот такую солянку


sub test
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 args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$K$5"

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


   Dim args(1) as new com.sun.star.beans.PropertyValue

   oDoc=ThisComponent

   args(0).Name = "CopyCount"         
   args(0).Value = 1

   oDoc.print(args())

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

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 = "00277"

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


 

   oDoc=ThisComponent

   args(0).Name = "CopyCount"         
   args(0).Value = 1

   oDoc.print(args())

rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "ToPoint"
args6(0).Value = "$K$5"

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

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

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


   oDoc=ThisComponent

   args(0).Name = "CopyCount"         
   args(0).Value = 1

   oDoc.print(args())

rem ----------------------------------------------------------------------
dim args9(0) as new com.sun.star.beans.PropertyValue
args9(0).Name = "ToPoint"
args9(0).Value = "$K$5"

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

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

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

end sub

но здесь получается каждое значение прописано в макросе вручную, хотелось бы сразу интервал. ??? Заранее благодарен.


bigor

Поддержать разработчиков LibreOffice можно можно тут, а наш форум вот тут