Есть ли свойство SmartArt.AllNodes для изменения имени узла - PullRequest
0 голосов
/ 16 мая 2019

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

Я хочу знать, могу ли я переименовать узел smartart, чтобы я мог ссылаться на него после создания другого. Это было бы похоже на изменение имени листа, поэтому вы можете ссылаться на него, используя листы («Имя»). Выберите вместо листов (1) .select

Уже пробовал SmartArt.AllNodes (1) .Name = "Something", но это не сработало. SmartArt.AllNones (1) .TextFrame2.TextRange.Text = "Something" изменяет текст узла, но я не могу ссылаться на его текст.

Set oSALayout = Application.SmartArtLayouts(89) 'reference to organization chart
Set oShp = ActiveWorkbook.ActiveSheet.Shapes.AddSmartArt(oSALayout)

Set QNodes = oShp.SmartArt.AllNodes
For i = 1 To 5      'delete all included nodes
    oShp.SmartArt.AllNodes(1).Delete
Next

oShp.SmartArt.AllNodes.Add
oShp.SmartArt.AllNodes(1).TextFrame2.TextRange.Text = Cells(2, 2)

Я ожидаю изменить имя узла и изменить текст, используя его имя.

oShp.SmartArt.AllNodes.Add
CHANGE THE NAME HERE TO "Something"
oShp.SmartArt.AllNodes("Something").TextFrame2.TextRange.Text = Cells(2, 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...