Как написать макрос в excel на языке программирования vba

Обращение к данным модели бизнес-архитектуры

Из отчета можно напрямую обращаться к данным модели бизнес-архитектуры. Это делается двумя способами:

  1. Через обращение к параметрам объекта, от которого был вызван отчет.
  2. Через использование механизма OLE.

Обращение к параметрам объекта

Обращение к параметрам объекта, от которого был вызван отчет, происходит таким образом:

ob.<СистемноеНазваниеПараметра>,

где

«ob» — объект, от которого был вызван отчет;

− это системное название параметра объекта, которое можно просмотреть в Объектной модели (см. Руководство пользователя → Объектная модель).

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

   Name = ob.Название  'получаем Название объекта, от которого вызвали отчет 
 

Использование механизма OLE

Механизм OLE предоставляет более широкие возможности по обращению к данным модели бизнес-архитектуры и выводу этих данных в отчетах по сравнению с обращением просто как данным объекта, от которого был вызван отчет.

Описание механизма OLE подробно описано в главе Руководство технического специалиста → Работа с Business Studio через OLE.
Для задействования OLE в отчетах конкретной базы нет необходимости во включении опции «Разрешено использование OLE».

Внимание! В отчетах при работе с OLE недоступны все методы класса «Система.OleApplication», поскольку в макросе «ПослеВыполненияОтчета» есть аргумент «app», который является приложением Business Studio, а не «Система.OleApplication».

Интеграция 1С и C#. Обращение к 1С через COM. Создание номенклатуры и выполнение запроса к 1С из C# на примере интеграции с Союз-PLM (система информационной поддержки жизненного цикла изделий). Обработка «Загрузка заказа на сборку». (ERP) Промо

Союз-PLM представляет собой полнофункциональный программный комплекс для решения  широкого спектра задач управления инженерной технической информацией наукоемких изделий и сложных инженерных объектов в области машиностроения, приборостроения, архитектуры, строительства.

На практике, это управление конструкторской документацией, интегрированное с САПР, бизнес-процессы, файловый архив. Все это работает в SQL и шевелится с помощью скриптов на C#. Скрипты свободно  отлаживаются в MS Visual Studio. Подробнее смотрите на их сайте: http://www.programsoyuz.ru/products/system-soyuz-plm.html  Редактирование, конструирование и использование бизнес-процессов на порядок лучше систем на базе 1С из тех, что я изучил.

1 стартмани

Пишем макрос на VBA Excel по формированию документов

Реализовывать нашу задачу будем на примере «Электронной карточке сотрудника» (я это просто придумал:), хотя может такие и на самом деле есть), т.е. документ в котором хранится личные данные сотрудника вашего предприятия, в определенном виде, именно в Excel.

Примечание! Программировать будем в Excel 2010.

И для начала приведем исходные данные, т.е. сами данные и шаблон

Данные.

Лист, на котором расположены эти данные так и назовем «Данные»

Шаблон.

Лист, на котором расположен шаблон, тоже так и назовем «Шаблон»

Далее, нам необходимо присвоить имена полей для вставки, так более удобней к ним обращаться чем, например, по номеру ячейки.

Это делается очень просто, выделяете необходимую ячейку или диапазон, и жмете правой кнопкой мыши и выбираете «Присвоить имя», пишите имя ячейки и жмете «ОК»

Свои поля я назвал следующим образом:

  • ФИО – fio;
  • № — number;
  • Должность – dolgn;
  • Адрес проживания – addres;
  • Тел. № сотрудника – phone;
  • Комментарий – comment.

Изменения в способе развертывания приложений

Приложение SWPlus теперь не требует подключения через панель макросов, оно устанавливается с помощью инсталлятора и подключается в качестве добавления к SOLIDWORKS. Инсталлятор поможет установить приложение для одного или всех пользователей. Причем таким образом, что у каждого пользователя на компьютере будут свои настройки SWPlus с возможностью импорта/экспорта настроек.

При установке SWPlus панель с командами приложения появляется автоматически, добавлять макросы на панель инструментов теперь нет необходимости.  Макросы заменили отдельные команды: MProp, DProp, SpecEditor и другие, а внешний вид иконок и компоновка диалоговых окон изменилась, чтобы вам удобнее было заполнять свойства моделей и чертежей.

Макросы для мышек – что это и как этим пользоваться

Всем привет! Сегодня мы с вами рассмотрим, что такое макрос на мышке и для чего он нужен, какие мышки поддерживают эту функцию и существуют ли макросы для обычной мышки. Все готовы? Тогда вперед!

Что такое макрос

Согласно определению в информатике, макрос или макрокоманда – это программный алгоритм действий, записанный или скопированный пользователем. Главное предназначение этой функции – автоматизация рутинных задач.

Ошибочно полагать, что макросы используются только геймерами. Нет, они широко применяются продвинутыми юзерами в прикладных программах – например, Microsoft Word, а также в программировании.

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

Что такое мышь с макросами

По сути, это геймерский девайс, в комплекте с которым поставляется фирменное ПО

Важное условие: такая мышь должна быть оборудована программируемыми кнопками для запуска макросов. Однако это необязательно – далее я расскажу, как создать макросы на простую мышку. Такой функционал почти всегда есть в продвинутых моделях геймерских устройств – в Razer, в Bloody, в Logitech и многих других

Естественно, каждый производитель создает собственное ПО для настроек работы, созданного им девайса

Такой функционал почти всегда есть в продвинутых моделях геймерских устройств – в Razer, в Bloody, в Logitech и многих других. Естественно, каждый производитель создает собственное ПО для настроек работы, созданного им девайса.

Практическое применение

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

Таких итемов для повышения ранга снаряжения нужно очень много. Кроме того, их можно продать через аукцион и купить прочие полезные штуки.

Естественно, кликать автоатаку вручную, с помощью левой кнопкой мыши, очень быстро надоест.

С другой стороны, ни один хардкорный игрок в ММОРПГ не проигнорирует возможность абьюза ресурсов – он таки найдет способ, отправившись на учебу или работу, оставить комп с запущенным игровым клиентом и «прикрученным» к нему кликером.

Более того, многие оставят рабочую станцию фармить и ночью, ведь, как гласит геймерская поговорка, «Пока ты спишь, враг качается».

Итак, что можно сделать в рассматриваемой ситуации и что это нам даст? Во‐первых, активируем автоатаку на клик левой кнопкой, с помощью макросов в игровой мышке. Если есть специальная атака на правую кнопку, активируем и ее, задав кулдаун на откат навыка.

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

Ситуация немного «попроще» часто наблюдается в многопользовательских играх, особенно изометрических хак‐н‐слешерах. При всем великолепии этого жанра, многие такие игры имеют один общий недостаток: все умения активируются с клавиатуры цифровыми кнопками.

Это не всегда удобно, так как искать их приходится наощупь. По сути, переназначение этих кнопок на боковые кнопки (а в игровой мышке они обычно есть) является тем же макросом.

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

И если вы решили немного поабьюзить в любимой игре, указанным выше способом, естественно, если это позволяет ее механика, учитывайте еще один момент. Почти весь «левый» софт для создания макросов или переназначения кнопок клавиатуры на геймпад системой безопасности игры, определяется как шпионское или вредоносное ПО.

При злоупотреблении, возможны катастрофические последствия для аккаунта, вплоть до перманентного бана. Фирменное же ПО, которое идет в комплекте с любой мышкой, определяется как драйвер и не блокируется. Так‐то!

Лично я рекомендую Macros Effect – простую, но функциональную утилиту, которая может не только написать макрос, но и импортировать предустановки из файла поддерживаемого формата. По поводу реакции на нее античит‐программ многопользовательских игр, ничего сказать не могу, так как не тестил.

Очистка видов запасов

В ERP бывает (у меня было 3 раза в разных организациях), что переходят от учет видов запасов с общего по организации на учет видов запасов по группам финансового учета номенклатуры (группа устанавливается устанавливается в карточке номенклатуры). При этом работа уже идет, документы остатков и производства введены в базе. Итак, поменяли учет видов запасов по группам фин. учета номенклаутры и начинают формировать проводки или еще какие-то операции, но теперь что-то не заполняется в проводках или остатки расходятся, вот тебе раз…
В этом случае нужно очищать скрытые таблицы с видами запасов в документах и перепроводить документы в хронологическом порядке, чтобы виды запасов установились корректно в соответсвтии с группами фин учета номенклатуры. Это обработка и делает.

1 стартмани

Пример 2

Эта процедура перечисляет все значения числовой последовательности Фибоначчи, вплоть до 1000. В этом примере приводятся следующие возможности макросов Excel:

  1. Объявление переменных.
  2. Цикл Do While.
  3. Ссылки на ячейки текущего листа Excel.
  4. Условный оператор.

‘ Подпрограмма для перечисления всех значений последовательности Fibonacci для всех значений ниже тысячи

Sub Fibonacci()

Dim i As Integer   ‘ счетчик для позиции в серии значений

Dim iFib As Integer   ‘ сохраняет текущее значение в серии

Dim iFib_Next As Integer   ‘ сохраняет следующее значение в серии

Dim iStep As Integer   ‘ хранит размер следующего шага

‘ Инициализация переменных variables i и iFib_Next

i = 1

iFib_Next = 0

‘ Цикл Do While, который исполняется до тех пор, пока номер

‘ числа в последовательности Фибоначчи меньше 1000.

Do While iFib_Next < 1000

If i = 1 Then

‘ Специальный случай для первой записи в серии

iStep = 1

iFib = 0

Else

‘ Сохраняется следующий размер шага, перед перезаписью

‘ текущей записи в серии

iStep = iFib

iFib = iFib_Next

End If

‘ Печать текущего значения последовательности Фибоначчи для столбца А 

‘ текущего листа

Cells(i, 1).Value = iFib

‘ Вычисление следующего значения последовательности и увеличение

‘ маркера позиции на 1

iFib_Next = iFib + iStep

i = i + 1

Loop

End Sub

Работа с копией отчета, содержащей макрос

При копировании отчета названия всех привязок изменяются.

Рисунок 3. Названия привязок в исходном отчете

Рисунок 4. Названия привязок в копии отчета

В случае, если в отчете используется макрос, который «опирается» на названия привязок, то следует помнить, что после копирования такой отчет не сможет формироваться таким же образом как оригинал без дополнительной обработки.

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

Пример проверки наличия привязки типа «Список». В документе это закладки.

Определяем название привязки типа «Список», которая представляет нужную таблицу (см. Руководство пользователя → ).

BookmarkName = "Изменения_процесса_e1ded8b0" 'название привязки

        'Проверка на корректность названия привязки

        Dim BookmarkIs As Boolean 'сначала считаем, что нужной закладки нет
        Dim Bkm As Bookmark 'переменная типа Закладка

        For Each Bkm InActiveDocument.Bookmarks 'перебираем все закладки в документе

            IfBkm.Name = BookmarkName Then 'если нашли закладку с нашим именем

                BookmarkIs = True 'отмечаем, что закладка есть
                'получаем таблицу по названию привязки 
                Set SettableStatus = Application.ActiveDocument.Bookmarks(BookmarkName).Range.Tables(1)

            End If

        Next

If BookmarkIs Then 'если в документе закладка есть
    
   'производим необходимые действия c таблицей

End If

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

Пример проверки наличия привязки типа Объект

Определяем название привязки типа «Объект», которая представляет нужное поле в отчёте (см. статью Руководство пользователя → ).

VarName = "Статус_процесса_c9a10e8d" 'название привязки

      'Проверка наличия указанной привязки в документе
        Dim VarIs As Boolean 'сначала считаем что привязки нет

        'перебираем все переменные документа
        For Each aVar In ActiveDocument.Variables

            If aVar.Name = VarName Then 'если среди них есть с нашим именем

                VarIs = True 'отмечаем это
                'получаем значение переменной по названию привязки 
                MyVar = Application.ActiveDocument.Variables.Item(VarName).Value 

            End If

        Next aVar

If VarIs Then 'если в документе привязка есть

     'производим необходимые действия с переменной

End If

Примечание. Закладки, не относящиеся к привязкам, например, созданные пользователем самостоятельно, при копировании отчетов не изменяются.

Бесплатные программы электрикам

В интернете можно найти много интересных приложений для электриков на бесплатной основе.

Программа «электрик»

Интеллектуальная система – помощник при решении простых и сложных задач в области электроники.

Она позволяет определить:

  • мощность электрического прибора;
  • потребляемый, номинальный ток;
  • ток короткого замыкания;
  • потери напряжения в электросети;
  • сечение кабеля;
  • количество проводников.

«Электрик» – помощник для решения сложных задач.

Программа востребована среди электриков, электромонтеров, электронщиков.

«1-2-3 схема»

Удобное приложение для работы с электричеством в быту. С помощью специализированного инструмента можно выполнить такие задачи:

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

Предоставляется на бесплатной основе.

KiCad

Ресурс создан на языке С++. В состав пакета входят основные и дополнительные утилиты:

  • блок проектов, настраивающий параметры новых заданий;
  • eeschema – редактор электросхем, символьных обозначений;
  • pcbnew – редактор печатных плат;
  • gerbview – просматривает файлы в формате Gerber;
  • cvpcb – определяет посадочные места;
  • wyoeditor – просматривает отчеты.

KiCad включает редактор схем и символьных обозначений.

XCircuit

Главные особенности софта:

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

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

Dia Diagram Editor

Сервис разработан для рисования несложных диаграмм, набросков, формирования блок-схем, образов радиоэлектронных элементов. Данные разрешается экспортировать в Postscript, загружать, сохранять в формате XML.

Программа Dia Diagram Editor разработана для рисования схем.

TinyCad

Программа позиционируется как софт для черчения, редактирования 2-мерных электросхем разных уровней сложности. Приложение позволяет нарисовать любую геометрическую фигуру, добавлять к ней текстовое описание. Редактор содержит более 40 баз шаблонов, среди которых детали, контроллеры, полупроводники, диоды. Есть справочник.

Fritzing

ПО с открытым кодом создано специально для моделирования цепей, изготовления макета оборудования.

Программа настроена на 3 режима:

  1. Макетная плата.
  2. Электрическая схема.
  3. Печатная плата.

Fritzing – программа для моделирования цепей.

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

QElectroTech

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

Cadstar Express

Разработчик ПО – крупная японская фирма Zuken. Программный продукт – САПР со всеми необходимыми пользователю возможностями.

  • моделировать печатные платы, электрические цепи, электроустановки, приборы;
  • с помощью условного графического редактора корректировать символы;
  • составлять спецификацию;
  • вносить правки в документы;
  • делать трассировку плат в ручном, полуавтоматическом/автоматическом режиме;
  • представлять результаты в виде файлов в типовых форматах ODB++, DXF, GenCAD и CADI.

Cadstar Express позволяет моделировать платы и электрические цепи.

База данных представлена более 20 тыс. элементами, 400 символами.

Код макроса на VBA Excel

Для того чтобы написать код макроса, открывайте на ленте вкладку «Разработчик», далее макросы.

Примечание! По умолчанию данной вкладке в Excel 2010 может и не быть, чтобы ее отобразить нажмите правой кнопкой по ленте пункт меню «Настройка ленты»

затем, в правой области поставьте галочку напротив пункта «Разработчик»

После вкладка разработчик станет отображаться на ленте.

Далее, когда Вы откроете вкладку разработчик и нажмете кнопку «Макросы» у Вас отобразится окно создания макроса, Вы пишите название макросы и жмете «создать».

После у Вас откроется окно редактора кода, где собственно мы и будем писать свой код VBA. Ниже представлен код, я его как обычно подробно прокомментировал:

Sub Карточка()
'Книга
NewBook = ""
' Путь, где будут храниться наши карточки
' Т.е. в той папке, откуда запустился файл с макросом
Path = ThisWorkbook.Path
' Выбираем лист с данными
Sheets("Данные").Select
' Запускаем цикл, скажем на 100000 итераций
' Начиная со второй строки, не учитывая заголовок
For i = 2 To 100000
' Выйдем из него, когда фамилии закончатся, т.е. строки
If Cells(i, 1).Value = "" Then
        i = 100000
    Exit For
End If
' Имя файла карточки, назовем по фамилии
Name_file = Path & "\" & Sheets("Данные").Cells(i, 1).Value & ".xls"
‘Выбираем лист с шаблоном
Sheets("Шаблон").Select
' Присваиваем значения нашим ячейкам, по именам которые мы задавали
    Range("fio").Value = Sheets("Данные").Cells(i, 1).Value & " " & _
        Sheets("Данные").Cells(i, 2).Value & " " & Sheets("Данные").Cells(i, 3).Value
    Range("number").Value = Sheets("Данные").Cells(i, 4).Value
    Range("addres").Value = Sheets("Данные").Cells(i, 5).Value
    Range("dolgn").Value = Sheets("Данные").Cells(i, 6).Value
    Range("phone").Value = Sheets("Данные").Cells(i, 7).Value
    Range("comment").Value = Sheets("Данные").Cells(i, 8).Value
    ' Копируем все
    Cells.Select
    Selection.Copy
    ' Создаем новую книгу или делаем ее активной 
    If NewBook = "" Then
        Workbooks.Add
        NewBook = ActiveWorkbook.Name
    Else
        Workbooks(NewBook).Activate
        Cells(1, 1).Select
    End If
    ' Вставляем данные в эту книгу
    Application.DisplayAlerts = False
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ' Сохраняем с нашим новым названием
    ActiveWorkbook.SaveAs Filename:= _
    Name_file, FileFormat:=xlExcel8, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False
    NewBook = ActiveWorkbook.Name
    Application.DisplayAlerts = True
    ' Снова активируем файл с макросом и выбираем лист
    Workbooks("Макрос.xls").Activate
    Sheets("Данные").Select
' Переходим к следующей строке
Next i
' Закроем книгу
Workbooks(NewBook).Close
' Выведем сообщение об окончании
MsgBox ("Выполнено!")
End Sub

Теперь осталось выполнить этот макрос, для этого откройте вкладку разработчик->макросы->выполнить наш макрос:

и после выполнения у Вас в той же папке появится вот такие файлы

Вот с таким содержимым:

Для удобства можете на листе с данными создать кнопку и задать ей событие выполнить наш только что созданный макрос, и после чего простым нажатием выполнять этот макрос. Вот и все! Удачи!

Нравится26Не нравится1

Расширение файлов Excel, которые содержат макросы

Когда вы записываете макрос или вручную записываете код VBA в Excel, вам необходимо сохранить файл с расширением файла с поддержкой макросов (.xlsm).

До Excel 2007 был достаточен один формат файла – .xls. Но с 2007 года .xlsx был представлен как стандартное расширение файла. Файлы, сохраненные как .xlsx, не могут содержать в себе макрос. Поэтому, если у вас есть файл с расширением .xlsx, и вы записываете / записываете макрос и сохраняете его, он будет предупреждать вас о сохранении его в формате с поддержкой макросов и покажет вам следующее диалоговое окно:

Если вы выберете “Нет”, Excel сохранить файл в формате с поддержкой макросов. Но если вы нажмете “Да”, Excel автоматически удалит весь код из вашей книги и сохранит файл как книгу в формате .xlsx. Поэтому, если в вашей книге есть макрос, вам нужно сохранить его в формате .xlsm, чтобы сохранить этот макрос.

Пример 4

Следующая процедура «Sub» читает содержимое ячеек из колонки А другого листа, имеющего название «Sheet2» и с этими значениями осуществляет арифметические операции. Результат вычислений пишется в колонке А текущего листа.

Этот пример показывает:

  1. Как объявлять переменные.
  2. Объекты Excel.
  3. Цикл Do Until. 
  4. Доступ к листам электронных таблиц и диапазонам ячеек с текущей книги.

‘ Подпрограмма, запускающая цикл через значения в колонке А текущего листа

‘ «Sheet2», perform arithmetic operations on each value, and write the

‘ result into Column A of the current Active Worksheet («Sheet1»)

Sub Transfer_ColA()

Dim i As Integer

Dim Col As Range

Dim dVal As Double

‘ Установить переменную Col в колонку А листа 2

Set Col = Sheets(«Sheet2»).Columns(«A»)

i = 1

‘ Прохождение цикла через каждую ячейку колонки ‘Col’ до тех пор, пока

‘ не будет обнаружена пустая ячейка

Do Until IsEmpty(Col.Cells(i))

‘ Применение арифметических операций к значению текущей ячейки

dVal = Col.Cells(i).Value * 3 — 1

‘ Команда ниже копирует результат в колонку А

‘ текущего активного листа — без уточнения названия активного листа

Cells(i, 1) = dVal

i = i + 1

Loop

End Sub

Работа с извещениями об изменениях

Еще одним новшеством приложения SWPlus стало появление модуля RevEditor. Благодаря ему пользователи смогут заполнить графы с изменениями в штампе чертежа или спецификации и заполнить извещения об изменениях по ГОСТ 2.503-2013 (рис. 12).

Рис. 12 – Внешний вид диалогового окна RevEditor

Для ПИ и ИИ разработан удобный интерфейс (рис. 13) с выбором из списков параметров извещений об изменениях (причина, указание о заделе и прочее). Выберите нужные параметры в форме извещения и будет создан документ, в котором останется только добавить графическое изображение извещения. Все изменения хранятся в документе чертежа. ИИ или ПИ создаются в виде чертежа SOLIDWORKS, который связан с чертежом, на который они выпущены.

Рис. 13 – Внешний вид диалогового окна для ввода параметров извещений об изменениях

В этой статье мы собрали существенные отличия в двух продуктах c одинаковым названием SWPlus и теперь Вам решать продолжать использовать макросы или присоединиться к пользователям, которые используют в работе новое приложение SWPlus и двигаются вперед, получая от приложения новые возможности. Мы со своей стороны обещаем Вам поддержку и с удовольствием поделимся с Вами опытом работы в SWPlus и в SOLIDWORKS.

Пример использования макросов №1

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

  1. Объявление переменных.
  2. Указание ссылок на ячейки Excel.
  3. Применение цикла типа For.
  4. Применение условного оператора.
  5. Отображение оповещения.

‘ Подпрограмма для поиска ячеек с адресами A1-A100 текущего активного листа

‘ и поиска ячеек, в которых содержится требуемая строка

Sub Find_String(sFindText As String)

Dim i As Integer           ‘ Целочисленная переменная, которая используется в цикле типа «For»

Dim iRowNumber As Integer   ‘ Целочисленная переменная, предназначенная для сохранения результата

iRowNumber = 0

‘ Цикл через ячейки A1-A100 до тех пор, пока не будет найдена строка ‘sFindText’ 

For i = 1 To 100

If Cells(i, 1).Value = sFindText Then

‘ Совпадение обнаружено для заданной строки

‘ Сохранение текущего номера строки и выход из цикла

iRowNumber = i

Exit For

End If

Next i

‘ Всплывающее сообщение, информирующее пользователя о найденной строке и ее номере

If iRowNumber = 0 Then

MsgBox «String » & sFindText & » not found»

Else

MsgBox «String » & sFindText & » found in cell A» & iRowNumber

End If

End Sub

Развитие и техподдержка

Развитие макросов SWPlus приостановлено разработчиком в 2014 году так как все свои силы и знания разработчик решил вложить в приложение SWPlus и развивать его в рамках добавления (Add-in) к SOLIDWORKS. После заключения договора с нашей компанией у автора появилась возможность переключиться на развитие своего продукта, а тестирование, документирование и техподдержку предоставить нам.

Теперь обновления приложения SWPlus поставляются нашим клиентам 1 раз в 3 месяца. При обнаружении критических замечаний выпускается hotfix (быстрое решение проблемы). А при возникновении у пользователей пожеланий к функциям SWPlus мы рассматриваем внесение требуемых изменений в рамках отдельного договора, например можно создавать по запросам пользователей уникальные механизмы сортировки.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Профессионал и Ко
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: