Це відео не доступне.
Перепрошуємо.

Стрим: Пишем макрос для Corel Draw. Основы программирования на VBA

Поділитися
Вставка
  • Опубліковано 10 кві 2020
  • Стрим при поддержки компании MCLaser mclaser mclaser.ru
    Текст макросов
    Sub rotate_90PO()
    ActiveSelectionRange.Rotate -90#
    End Sub
    Sub rotate_90PR()
    ActiveSelectionRange.Rotate 90#
    End Sub
    Sub rotate_180()
    ActiveSelectionRange.Rotate 180#
    End Sub
    Sub attach_left()
    attach ("left")
    End Sub
    Sub attach_right()
    attach ("right")
    End Sub
    Sub attach_top()
    attach ("top")
    End Sub
    Sub attach_bottom()
    attach ("bottom")
    End Sub
    Private Sub attach(side)
    Set OS = ActiveSelection.Shapes
    Set fir = OS.First
    For Each s In OS
    If Not s Is fir Then
    Select Case side
    Case "right": s.LeftX = fir.RightX
    Case "left": s.RightX = fir.LeftX
    Case "top": s.BottomY = fir.TopY
    Case "bottom": s.TopY = fir.BottomY
    End Select
    End If
    Next s
    End Sub
    Донат на стриме: www.donational...
    в ВК: app5727...
    Поддержи проект Деревяшкина и получи эксклюзивную панель макросов и ранний доступ к видео и эксклюзивным материалам!
    на Бусти: boosty.to/wrwo...
    на Патреоне: / mrwoodman
    Бесплатная мини панель: yadi.sk/d/7HsU...
    Видео про полную панель с генеретором коробок: • Woodman Panel 2.0 Гене...
    Ищите нас так же в сети
    dukered (личный)
    laser_man (группа)
    / laserman_minsk
    etsy.com/shop/...

КОМЕНТАРІ • 70

  • @_vintik_shpuntik
    @_vintik_shpuntik Рік тому +2

    Ну наконец-то наткнулся на толковый урок по макросам для начинающих!👍👍👍

    • @mrWoodman
      @mrWoodman  Рік тому

      у меня там целый плейлист по этой теме )

    • @_vintik_shpuntik
      @_vintik_shpuntik Рік тому +1

      @@mrWoodman , спасибо, посмотрим, по лайкаем

  • @mira987
    @mira987 2 роки тому +2

    Тема макросов очень интересна!!!! Давайте более подробно её рассматривать!!! Было бы здорово начать с очень простых действий постепенно усложнять!
    Спасибо большое!!!

    • @mrWoodman
      @mrWoodman  2 роки тому +3

      Есть такой видос ua-cam.com/video/sODNSu9Y1EM/v-deo.html
      И есть целый плейлист про VBA.
      Но планирую цикл видео с нуля про программирование на vba

    • @mira987
      @mira987 2 роки тому +1

      @@mrWoodman Да, я уже всё посмотрела! Спасибо огромное!!!👍👍👍 Но хотелось бы ещё..😅🤭

    • @ciongass
      @ciongass Рік тому +1

      @@mrWoodman Super

    • @sumvanna1779
      @sumvanna1779 8 місяців тому

      Macros free download teacher ❤❤❤❤❤❤

  • @user-mn5ty6gx7i
    @user-mn5ty6gx7i 4 роки тому +2

    Спасибо! Я тоже действующий программист (Delphi) и пришел к лазерной резке 3 года назад. Хотел понять синтаксис VB вообще и особенности его для Corel (пока без конкретной задачи). По урокам такого мастера это будет проще, интереснее и эффективнее. Из личного опыта добавлю. Если не начать писать код, а только смотреть подобное образовательное видео, толку не будет никакого и через неделю другую все забудется. Поэтому наставление : "Творите!" как нельзя кстати в контексте изучения языка программирования.
    Ждем продолжения!

    • @mrWoodman
      @mrWoodman  4 роки тому

      Какие темы раскрыть? Углубиться в программирование? Что показать?

    • @user-mn5ty6gx7i
      @user-mn5ty6gx7i 4 роки тому +1

      Так как с задачами определенности нет. Но что могу сказать. Математические алгоритмы написать не проблема. Нас же этому учили :). Но больше всего интересны особенности "наречия" этого языка VB для Corel. Классы, методы. И способы их использования.
      И не стоит забывать про тех кто делает первые шаги в программировании! Я, однозначно, поддержу, если будут видео и с основами VB.
      Кажется Кнут сказал: "В программировании как и в жизни, прежде чем научиться бегать, нужно научиться ползать!"

    • @user-mn5ty6gx7i
      @user-mn5ty6gx7i 4 роки тому

      @@mrWoodman Смог ответ написать самому себе... А не на сообщение с вопросом :) Бывает. Но думаю дойдет!

    • @mrWoodman
      @mrWoodman  4 роки тому

      @@user-mn5ty6gx7i ну тут рецепт стандартный. курить мануалы. никак иначе ) рассказать можно общий принцип.. а уж все методы и свойства это или помнить надо или в мануалах смотреть.

    • @user-mn5ty6gx7i
      @user-mn5ty6gx7i 4 роки тому +1

      @@mrWoodman Согласен! И опять же нужно иметь живую задачу под которую все это изучать. Изучать ради изучения - это тупик.
      Но все видео на канале и на boosty смотрю с большим удовольствием! Уроки по Corel очень полезные. И как раз им нахожу практическое применение, что позволяет не забывать полученные знания.

  • @ExcelStore
    @ExcelStore 4 роки тому +1

    По моему опыту, VBA многими недооценен. Не только применительно к Corel Draw, но и в тех же приложениях MS Office. А ведь с его помощью можно быстро и удобно писать скрипты, существенно упрощающие рутинные операции.

    • @mrWoodman
      @mrWoodman  4 роки тому

      Согласен. Именно так я делаю))) но чтобы писать нужно программистим быть или самому выучить алглритмы

    • @ExcelStore
      @ExcelStore 4 роки тому

      @@mrWoodman Удобно, что в Corel можно макрорекордером записывать, как в Excel. В том же Worde или PowerPoint рекордера нет и только через документацию или примеры в интернете.

  • @mamatovakbar6954
    @mamatovakbar6954 4 роки тому +1

    Спасибо!

  • @maikwood8223
    @maikwood8223 Рік тому +1

    Не совсем понял зачем выставлять единицы измерения микроны, а потом переводить в миллиметры?
    Проще же выставить сразу миллиметры.

    • @mrWoodman
      @mrWoodman  Рік тому

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

  • @anizym2688
    @anizym2688 Місяць тому +1

    Помогите пажалуйсто. Не могу перенести переменную из одного макроса в другой. Ну или из макроса в панель. Н еподскажите как это сделать?

    • @mrWoodman
      @mrWoodman  Місяць тому +1

      Что значит "перенести переменную"? вы хотите какое-то значение или объект использовать в другом макросе? Тут 2 варианта. первый простой но не очень правильный - использование глобальной переменной. и второй более правильный передача значения в функцию. Т.е. принимающий макрос должен быть в виде функции с параметрами.

    • @zymer4481
      @zymer4481 Місяць тому +1

      @@mrWoodman Помогло. Спасибо за ответ!

  • @RomanovDR
    @RomanovDR 4 роки тому +1

    да, круто, конечно. Ноя точно в это не полезу. Из функций понравилось - выделить по цветам и гибкий рез с размещением пазов по кривой!

    • @mrWoodman
      @mrWoodman  4 роки тому

      не все так страшно ) если любой язык программирования знаешь то тут не сложно разобраться

    • @RomanovDR
      @RomanovDR 4 роки тому

      @@mrWoodman хехе, програмированием никогда не занимался. .... если на гитаре пару аккордов знаешь, то в принципе, орган освоить реально!

    • @mrWoodman
      @mrWoodman  4 роки тому

      @@RomanovDR ну не совсем верное сравнение. :)) языки по сути похожи синтакиси наптсания разный. А инсьрументы это навык

    • @RomanovDR
      @RomanovDR 4 роки тому

      @@mrWoodman ну, почему же не верное сравнение? и там и там 12 нот и построение аккордов примерно одинаковое, а херачить "голуби летят над нащей зоной" и Фугу Dm это уже навык! )

    • @mrWoodman
      @mrWoodman  4 роки тому

      @@RomanovDR ну порог вхождения в музыку выше намного. Язык достаточно "пару аккордов знать" и можно писать. А в музыке посложней все же. Слух нужен или от природы или годами развитый

  • @lsssAAaAa
    @lsssAAaAa 2 роки тому +1

    Подскажите как мне сделать макрос по экспорту в JPG выбранных контуров? Нужно экспортировать около 100 контуров, руками лень :)

    • @mrWoodman
      @mrWoodman  2 роки тому +1

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

    • @lsssAAaAa
      @lsssAAaAa 2 роки тому +1

      @@mrWoodman почему то Команды «экспорт» с выбором настроек не записывается в макрос вообще, после записи в теле макроса пусто, только строки начала и конца кода. Если вам не затруднит, не могли бы скинуть ссылку что за панель макросов?

    • @mrWoodman
      @mrWoodman  2 роки тому

      @@lsssAAaAa моя панель макросов )) ссылки в описании под любым видео. ну и на канале в плейлисте "панель макросов" можно найти видео.
      как это не записывается? всё записывается прекрасно.
      вот код - изменена толко одна строчка - остальное записано макросом
      Sub Save_dxf()
      If Len(ActiveDocument.FileName) > 1 Then
      Dim OrigSelection As ShapeRange
      Set OrigSelection = ActiveSelectionRange
      OrigSelection.CreateSelection
      Dim expopt As StructExportOptions
      Set expopt = CreateStructExportOptions
      expopt.UseColorProfile = False
      Set expflt = ActiveDocument.ExportEx(ActiveDocument.FilePath & Mid(ActiveDocument.Name, 1, Len(ActiveDocument.Name) - 4) & ".dxf", cdrDXF, cdrSelection, expopt)
      expflt.finish
      End If
      End Sub

    • @lsssAAaAa
      @lsssAAaAa 2 роки тому +1

      @@mrWoodman спасибо большое

    • @mrWoodman
      @mrWoodman  2 роки тому +1

      @@lsssAAaAa подобный код гуглится за 3 минуты а еще лучше советую читать мануалы по языку. там очень много простых примеров как раз под простые задачи.

  • @slukka79
    @slukka79 4 роки тому

    Доброго Вам. А подскажите, как заполнить ComboBox названиями файлов, которые находятся в папке с макросом или подпапках. Заранее благодарю.

    • @mrWoodman
      @mrWoodman  4 роки тому

      Для сканирования директории есть функция dir а каждый (нужный) файл функцией AddItem добавить в комбобокс.

    • @slukka79
      @slukka79 4 роки тому +1

      @@mrWoodman спасибо за ответ, пришел домой, стал копать и нашел вот это - Application.GMSManager.UserGMSPath - папка GMS для этого конкретного пользователя, то что нужно было, где лежат макросы.

    • @mrWoodman
      @mrWoodman  4 роки тому

      @@slukka79 да. я такой же способ использую для чтения INI файла в панели макросов

  • @MakDVa
    @MakDVa Рік тому

    Здравствуйте. Полезное видео. Подскажите как сделать макрос который растягивает нарисованный мной узор на всю площадь любой выбранной фигуры?

    • @mrWoodman
      @mrWoodman  Рік тому

      Задать свойства sizeheight и sizewidth согласно соответствующим параметрам другой фигуры. Или можно использовать setsize.

    • @mrWoodman
      @mrWoodman  Рік тому +1

      Например.
      Set os=activeselectionrange
      Set s1 = os.shapes(1)
      Set s2 = os.shapes(2)
      s1.sizeheight = s2.sizeheight
      s1.sizewidth = s2.sizewidth
      Советую код не копировать а понять и самому под свои нужды переписать. Во-первых и вам полезней для понимания, а во-вторых я его писал на мобиле, так что могут быть грамматические ошибки, но смысл я надеюсь понятен :)))

    • @MakDVa
      @MakDVa Рік тому

      @@mrWoodman блин вот у меня получается сделать это стандартными средствами, но потом я не могу ничего сделать с этим узором. Потому что корел воспринимает его как заливку , а не как вектор.

    • @mrWoodman
      @mrWoodman  Рік тому

      @@MakDVa так смотря какая заливка и что с ней нужно делать. Если вам нужно увеличить размер но чтобы узор внутри не увеличился, то это "несколько" сложней операция

    • @MakDVa
      @MakDVa Рік тому

      @@mrWoodman да, вот так мне и надо. Я уже понял, что стандартными средствами не обойтись. Чтобы при этом узор вектором остался. Буду копать

  • @user-jk4ho1wv7p
    @user-jk4ho1wv7p 2 роки тому +1

    Запиши макрос на фасад

    • @mrWoodman
      @mrWoodman  2 роки тому

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

  • @user-vz2pz8bd5q
    @user-vz2pz8bd5q 3 роки тому

    Непонятные цифры в макросе это дюймы

    • @mrWoodman
      @mrWoodman  3 роки тому

      Где не понятно? какие дюймы? мы что в америке живем? все нормальные люди меряют в мм.

    • @user-vz2pz8bd5q
      @user-vz2pz8bd5q 3 роки тому

      @@mrWoodman
      Перед тем как вы изменили на микрометры

    • @mrWoodman
      @mrWoodman  3 роки тому

      @антон магарн где? микрометры мне удобнее использовать в вычисслениях в макросе в самом коде. а в интерфейсе только мм. а в коде сверху четко прописаны единицы какие используются. любые можно выбрать . это кому как удобнее
      умножаешь на 10 000 и получешь мм.