Копирование строк таблицы в презентации PowerPoint - VB

Узнай цену своей работы

Формулировка задачи:

Имеется презентация PowerPoint с одним слайдом на котором одна таблица. Это не существенно.
Строку в таблице с помощью VBA можно добавить:
ActivePresentation.Slides(1).Shapes(1).Table.Rows.Add(1)
Но, она добавляется без форматирования, то есть в макросе потом еще надо добавлять инструкции по форматированию ячеек добавленной строки. Это не хорошо.
А вот такой код и похожие на него не срабатывают, точнее ошибка в 4 строке:
ActivePresentation.Slides(1).Shapes(1).Table.Rows(1).Select
ActiveWindow.Selection.Copy
ActivePresentation.Slides(1).Shapes(1).Table.Rows(1).Select
ActiveWindow.Selection.TextRange.Paste
Как можно скопировать имеющуюся строку таблицы и вставить ее в эту же таблицу с учетом форматирования уже имеющей строки.
Спасибо.
P.S. Записать макрос и посмотреть какие инструкции сгенерируются при копи/пасте уже пытался. Но это уже совсем другая тайна.

Решение задачи: «Копирование строк таблицы в презентации PowerPoint»

textual
Листинг программы
Sub AddNewRowWithFormat()
        
    Dim table As Table
    Dim newRow As Long
    
    Set table = ActivePresentation.Slides(1).Shapes(1).Table
    
    With table
        .Rows.Add (-1)
        newRow = .Rows.Count
        
        With .Rows(newRow)
            For x = 1 To table.Columns.Count
                table.Cell(2, x).Shape.PickUp
                .Cells(x).Shape.Apply
            Next
            
        End With
        
    End With
    
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5
Похожие ответы