[CDR 2022] Получить значение ReferencePoint

Chiga

15 лет на форуме
Сообщения
802
Реакции
519
не совсем понял как с этим работать
Я засунул это в
Код:
Private Sub UserForm_Click()
  Application.FrameWork.Automation.Invoke "3148e122-4f73-6e8a-4dfb-b2f6a84090d5"
End Sub
в момент клика по форме он появляется возле курсора.

Теоретически через winApi можно получать состояние этого контрола.
 

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Я засунул это в
Код:
Private Sub UserForm_Click()
  Application.FrameWork.Automation.Invoke "3148e122-4f73-6e8a-4dfb-b2f6a84090d5"
End Sub
в момент клика по форме он появляется возле курсора.

Теоретически через winApi можно получать состояние этого контрола.
не. этот способ мне не катит. я докер пишу а он ругается на любое подключение внешних модулей.
думал все будет проще (((
 

eugeny

15 лет на форуме
Сообщения
859
Реакции
210
не. этот способ мне не катит. я докер пишу а он ругается на любое подключение внешних модулей.
думал все будет проще (((
Каким образом докер ругается на подключение внешних модулей?
Вы же запускаете это в среде ВБА?
Это код из докера, привязанный к кнопке:
Код:
var doc = window.external.Application;
    var presetScript = doc.GMSManager.RunMacro("makro", "Macros.something");
А это уже в ВБА:

Код:
Sub something()
  Application.FrameWork.Automation.Invoke "3148e122-4f73-6e8a-4dfb-b2f6a84090d5"
End Sub
 

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Каким образом докер ругается на подключение внешних модулей?
Вы же запускаете это в среде ВБА?
хотелось по максимуму обойтись без VBA еще теплится надежда, что пользователи МАКов смогут поставить макрос.
Код:
Sub something()
  Application.FrameWork.Automation.Invoke "3148e122-4f73-6e8a-4dfb-b2f6a84090d5"
End Sub
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 229
Реакции
10 851

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Не пойму, так вы это на js пишете что ли или как?
да. докер на JS выкладывал в одной ветке )

копируем сюда:
"c:\Program Files\Corel\CorelDRAW Graphics Suite 2022\Programs64\Addons"

Убедитьтся, что не стоит в настройках "задержка VBA"
 

Вложения

  • woodman panel 3.zip
    35.5 КБ · Просм.: 83

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 229
Реакции
10 851
Тогда вы в большой беде, жабоскрипт там рудиментарный :(
 

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Тогда вы в большой беде, жабоскрипт там рудиментарный :(
да не. в целом удобней код пишется и все аналогичные стандартные функции работают. пока не заметил рудиментарности никакой. а главное скорость работы в разы быстрей VBA. и с памятью лучше работает. переписал с VBA на JS одну рекурсивную функцию. где VBA уже споткнулся от количества самопересечений JS норм работает.
 

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114

Drawer

Участник
Сообщения
1 816
Реакции
799

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Но можно же отрисовать скажем квадрат, отзеркалить 2 раза и вычислить по изменению координат :)
не прокатит. мне же нужно менять это значение. а не просто получить его. чтобы не рисовать свой похожий элемент интерфейса хочу использовать стандартный. а если рисовать он берет значение ActiveDocument а не переключателя.
 

Drawer

Участник
Сообщения
1 816
Реакции
799
мне же нужно менять это значение. а не просто получить его
чтобы не рисовать свой похожий элемент интерфейса хочу использовать стандартный
Че-то тут с логикой не так :)
Вам насколько понял нужно получить значение RP которое установлено в интерфейсе панели transform... не?
 
Последнее редактирование:

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Че-то тут с логикой не так :)
да все с логикой норм. я хочу чтобы пользователь тыкал в стандартный инструмент а не рисовать повторяющийся функционал.
а меняя "физический" переключатель в макросе ReferencePoint не меняется
 

Drawer

Участник
Сообщения
1 816
Реакции
799

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114

Drawer

Участник
Сообщения
1 816
Реакции
799
он не будет привязан к переключателю
С чего бы? :) рисуем квадрат, 2 раза тыкаем мышкой - зеркало по горизонтали, зеркало по вертикали, изменение координат связано с переключателем?
 

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
С чего бы? :) рисуем квадрат, 2 раза тыкаем мышкой - зеркало по горизонтали, зеркало по вертикали, изменение координат связано с переключателем?
да. когда "руками" рисуем. все норм. а если макросом - то нет
 

Drawer

Участник
Сообщения
1 816
Реакции
799
  • Спасибо
Реакции: Chiga

DukereD

макрософил
Топикстартер
Сообщения
462
Реакции
114
Чем отличается макросом от руками если Application.FrameWork.Automation.Invoke "ID Зеркала"? :)
да толку где его нажимать на панели или под мышкой. если он в макрос это значение не передает. не меняет от ActiveDocument.ReferencePoint