Список ссылок между картинками

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

Я новичок в vba и застрял.

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

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

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

Спасибо.

{редактировать} код :

записанное соединение

Sub connection_stack()

ActiveSheet.Shapes.Range(Array("C3")).Select
Selection.ShapeRange.ConnectorFormat.BeginConnect ActiveSheet.Shapes("TO1"), 4
Selection.ShapeRange.ScaleWidth 2.9100441391, msoFalse, msoScaleFromBottomRight
Selection.ShapeRange.ScaleHeight 2, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 0.5, msoFalse, msoScaleFromBottomRight
Selection.ShapeRange.ScaleHeight 23.7025647736, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.Flip msoFlipVertical
Selection.ShapeRange.ConnectorFormat.EndConnect ActiveSheet.Shapes( _
    "Picture 84"), 2
Selection.ShapeRange.ScaleWidth 0.4494922067, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleHeight 1.0143200614, msoFalse, _
    msoScaleFromBottomRight

Конец сабвуфера

добавление оборудования

Sub New_TO()

ActiveSheet.Shapes.Range(Array("Picture 5")).Select
Selection.Copy
ActiveSheet.Paste
Selection.OnAction = ""
Selection.ShapeRange.IncrementLeft 138.4090551181
Selection.ShapeRange.IncrementTop -8.1818110236
Selection.Name = "TO_transit"
newTO.Show

Конец сабвуфера

изменение названия оборудования из формы

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

Пожалуйста, включите код в виде текста, а не в виде снимка экрана.

cybernetic.nomad 22.04.2022 23:04

Добро пожаловать в СО. Пожалуйста, никогда никогда опубликуйте свой код как изображение. см. Как создать минимальный, полный и проверяемый пример и не забудьте прочитать Почему «Кто-нибудь может мне помочь?» не актуальный вопрос?. Также ознакомьтесь с тур и более полезной информацией на "центр помощи"..

Foxfire And Burns And Burns 23.04.2022 02:25

Спасибо, он отлично работает и позволил мне двигаться дальше. Если у вас есть какие-либо идеи для этой части, мы будем признательны.stackoverflow.com/questions/72036227/…

grigri 28.04.2022 13:21
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
3
3
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Соединитель — это форма. Вам просто нужно перебрать каждую фигуру и проверить, является ли она соединителем со свойством Shape.Connector.

Shape.Connector (Excel)

В качестве примера я сделал 3 формы и 2 коннектора:

enter image description here

Мой код:

Sub test()

Dim kk As Shape
Dim wk As Worksheet


Set wk = ActiveSheet

For Each kk In wk.Shapes
    If kk.Connector = msoTrue Then
        Debug.Print "From ", kk.ConnectorFormat.BeginConnectedShape.Name, " to ", kk.ConnectorFormat.EndConnectedShape.Name
    End If
Next kk


End Sub

Вывод, который я получаю, именно так, как я сделал свои разъемы:

From          Rectangle 1    to           Oval 2
From          Oval 2         to           Snip Single Corner Rectangle 3

Другие вопросы по теме