Если связь имеет такой вид:


Рассмотрим связи из нашего прошлого проекта.

Система.Компьютер 1.InSAT Modbus OPC Server DA.Узел.Устройство1.Пила
Для второго она будет иметь вид:
Система.Компьютер 1.InSAT Modbus OPC Server DA.Узел.Устройство2.Пила
То есть в имени меняется имя экземпляра – Устройство1 на Устройство2 и т.д. То есть необходимо во всех строках выполнить замену Устройство1 на ячейку из столбца Экземпляр. Для решения этой задачи и был написан специальный макрос - пример макрос в конце статьи
Рекомендуется разместить его в той же папке, где и файл связей и дать такое же имя – это удобно если у вас несколько списков экземпляров. Запустите файл макроса – появится окно управления.

Макрос состоит из трех разделов. В верхнем разделе осуществляется привязка к определенному CSV файлу. С помощью кнопки Открыть файл открывается, Перечитать – обновляет файл (например, если вы добавили новую связь и экспортировали файл снова), а кнопкой Сохранить, сохраняет его. Откроем наш файл – его ячейки заполнят таблицу.

Можно воспользоваться стандартной Excel функцией копирования – выделить нужный диапазон и просто перетащить вниз. В нашем случае это будет проще всего, однако такой способ не всегда удобен.
Например, нам нужно заполнить не все столбцы, а только некоторые – С:F, G:H. В таком случае нам нужно будет поочередно выделять каждую группу столбцов и выполнять копирование. Кроме того, экземпляров может быть много, поэтому перетаскивание мышью займет много времени.
Для упрощения этой задачи в макросе есть раздел генерации путей. Его принцип следующий – сначала указывается какую именно строку мы хотим скопировать в последующие нижние строчки. Затем выделяются столбцы, которые нужно скопировать. При этом можно выделить столбцы мышью (в том числе используя групповое выделение с помощью клавиш Shift и Ctrl), а можно просто скрыть не нужные и выделить страницу целиком.
Выбираем вторую строку и выделяем группой столбцы.


Указываем текст который мы хотим заменять – в нашем случае Устройство1.

В нашем случае имя экземпляра и имя группы ОРС сервера совпадают – поэтому, просто выделяем столбец B(или любую ячейку в нем) и нажимаем на кнопку Выбрать столбец экземпляров. Выбранный столбец будет указан в поле Столбец экземпляров.

Теперь можно начинать выполнять замену – нажмите на кнопку Выполнить замену. Связи будут заменены.

При сохранении макрос не переносит скрытые строки и столбцы. Это позволяет делать собственные, сервисные столбцы – например для создания текстов значений до опроса.
При импорте MasterSCADA определяет принадлежность связи и экземпляра по именам. Это позволяет сделать несколько отдельных файлов связей и работать с ними отдельно – например, если ваш объект имеет связи с двумя ОРС серверами.
Код макроса открыт и доступен для изучения или редактирования. Скачать макрос можно по данной ссылке.