Копирование строк таблицы в презентации 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. Записать макрос и посмотреть какие инструкции сгенерируются при копи/пасте уже пытался. Но это уже совсем другая тайна.
Строку в таблице с помощью 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