Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
vladimir_f
Contributor II
Contributor II

Макрос - сменить позицию объекта на +X и +Y

Добрый день!

есть пару вопросов:

1)   часто в "продвинутых"  визуализациях вижу управление положением отображаемых элементов при помощи макросов..  но они какие-то сложные. . друг-за-друга цепляющиеся. .  а мне нужно что-то простое. . 

чтобы по нажатию на кнопку можно было бы, например, сместить объекты на необходимое число пикселей вправо/вниз

макрос должен быть простым как дверь без ручки:

а. Объект, который надо сдвинуть(пусть будет явно прописан, например CH02. )

б. Позиции  X и Y , по которым этот объект сдвинуть(не надо относительных вычислений - достаточно конкретных цифр..  +50 и +200, к примеру).,

Понимаю,  что я слишком много прошу.. но уверен, у кого-нибудь есть готовое решение...

2)   макрос на перезагрузку файлов клика..   кто сталкивался с таким?  те макросы, которые я проверял на эту тему, всегда "вешают" кликвью и его приходится закрывать через диспетчер задач..   у кого-нибудь работает макрос, приведённый ниже?

просто у меня много клик-отчётов, а я до сих пор не научился их каскадно автоматически обновлять..  макрос очень пригодился бы.

Открыть документ, перезагрузить. .нажать на кнопку..  закрыть. .

Set MyApp = CreateObject("QlikTech.QlikView")

Set MyDoc = MyApp.OpenDoc ("C:\QlikViewApps\Demo.qvw","","")

Set ActiveDocument = MyDoc

ActiveDocument.Reload

Set Button1 = ActiveDocument.GetSheetObject("BU01")

Button1.Press

MyDoc.GetApplication.Quit

Set MyDoc = Nothing

Set MyApp = Nothing

3)  ну, если совсем интересно будет дорабатывать - ещё задачка к пункту "1)"

                      сместить объект CH02  на высоту объекта CH03

1 Solution

Accepted Solutions
vladimir_f
Contributor II
Contributor II
Author

А вот вам и  моя дверь без ручки!

Признаюсь, изменял уже готовый макрос..  но попробую его допилить под мои нужды..  этим кодом уже можно хоть как-то вертеть.

sub working2
set getgraC = ActiveDocument.GetSheetObject("CH03")
getgra = ActiveDocument.ActiveSheet.GetGraphs()

set gra = getgraC
set grapos = gra.GetRect
grapos.Top = 310
grapos.Left = 200
gra.SetRect grapos
end sub

View solution in original post

1 Reply
vladimir_f
Contributor II
Contributor II
Author

А вот вам и  моя дверь без ручки!

Признаюсь, изменял уже готовый макрос..  но попробую его допилить под мои нужды..  этим кодом уже можно хоть как-то вертеть.

sub working2
set getgraC = ActiveDocument.GetSheetObject("CH03")
getgra = ActiveDocument.ActiveSheet.GetGraphs()

set gra = getgraC
set grapos = gra.GetRect
grapos.Top = 310
grapos.Left = 200
gra.SetRect grapos
end sub