Загрузка данных


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