powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копирование строк таблицы в презентации PowerPoint
3 сообщений из 3, страница 1 из 1
Копирование строк таблицы в презентации PowerPoint
    #37742411
linin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется презентация 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. Записать макрос и посмотреть какие инструкции сгенерируются при копи/пасте уже пытался. Но это уже совсем другая тайна.
...
Рейтинг: 0 / 0
Копирование строк таблицы в презентации PowerPoint
    #37752993
linin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за внимание.

Погуглил и пока решил приблизительно такими костылями:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
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



Соответственно отталкиваясь от этого макроса написал метод-обвертку (wrapper) на C#, который "дергает" все эти методы и в результате добавляет строку в таблице на слайде с копированием форматирования предыдущей строки, что и требовалось мне.
...
Рейтинг: 0 / 0
Копирование строк таблицы в презентации PowerPoint
    #37846951
linin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавлю: метод .PickUp отсутствует в 2007 офисе и выше. Форматы ячеек таблицы поэтому надо копировать "мануально".
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Копирование строк таблицы в презентации PowerPoint
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]