Sub CreateOrgChart()
Dim sa As SmartArt
Dim node As SmartArtNode
Dim targetNode As SmartArtNode
' Создаем объект SmartArt (организационная диаграмма)
Set sa = ActiveDocument.Shapes.AddSmartArt(Application.SmartArtLayouts("OrganizationChart")).SmartArt
' Очищаем стандартные узлы
While sa.AllNodes.Count > 1
sa.AllNodes(1).Delete
Wend
' Главный узел
Set node = sa.AllNodes(1)
node.TextFrame2.TextRange.Text = "ГЕНЕРАЛЬНЫЙ ДИРЕКТОР"
' 1. Коммерческий директор
Set targetNode = node.AddNode(msoSmartArtNodeBelow)
targetNode.TextFrame2.TextRange.Text = "КОММЕРЧЕСКИЙ ДИРЕКТОР"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Отдел продаж"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Отдел маркетинга"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Юридический отдел"
' 2. Финансовый директор
Set targetNode = node.AddNode(msoSmartArtNodeBelow)
targetNode.TextFrame2.TextRange.Text = "ФИНАНСОВЫЙ ДИРЕКТОР"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Главный бухгалтер"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Планово-экономический отдел"
' 3. Директор по производству
Set targetNode = node.AddNode(msoSmartArtNodeBelow)
targetNode.TextFrame2.TextRange.Text = "ДИРЕКТОР ПО ПРОИЗВОДСТВУ"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Начальник отдела МТС"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Зав. складом сырья"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Зав. складом ГП"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Начальник дизайн-студии"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Начальник печатного цеха"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Начальник переплетно-брошюровочного цеха"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Начальник участка допечатной подготовки"
targetNode.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Цеховые мастера"
' 4. Прямое подчинение
node.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Транспортный отдел"
node.AddNode(msoSmartArtNodeBelow).TextFrame2.TextRange.Text = "Отдел кадров"
' Применяем строгий стиль без красок (черно-белый)
sa.Color = Application.SmartArtColors("SmartArtColorAccent1") ' Базовый цвет
End Sub