Обновите содержание презентации программно

Можно использовать API PPT, чтобы обновить содержимое программно в существующем представлении PowerPoint®.

Сгенерируйте существующую презентацию

Этот пример обновляет содержимое в презентации PowerPoint myNewPPTPresentation. Несмотря на то, что вы создаете представление программно, после того, как вы генерируете его, представление похоже на любую другую презентацию PowerPoint. Чтобы сгенерировать представление, кликните по myNewPPTPresentation программе и выполните код в MATLAB®. Представление включает четыре слайда:

Использовать API PPT, чтобы обновить содержимое в существующей презентации PowerPoint программно, вас:

  • Настройте презентацию PowerPoint путем именования объектов содержания, которые вы хотите заменить. Если вы хотите добавить новое содержимое, вставьте заполнителей в представление для того содержимого.

  • В MATLAB импортируйте mlreportgen.ppt Пакет API PPT.

  • Создайте Presentation возразите, что использует существующую презентацию в качестве шаблона для обновленной версии.

  • Замените любое содержимое существующего слайда, которое вы хотите обновить.

  • Добавьте двигает любые новые слайды.

  • Сгенерируйте представление.

Обновления представления

В этом примере вы используете API PPT, чтобы внести эти изменения в myNewPPTPresentation представление:

  • Замените изображение на втором понижении.

  • Замените текст на третьем понижении.

  • Замените таблицу на четвертом понижении.

  • Вставьте новое понижение перед понижением с графиком.

Вот обновленное представление.

Настройте существующую презентацию

Программа API PPT использует шаблон PowerPoint, чтобы сгенерировать представление. Когда вы обновите существующую презентацию PowerPoint программно, используйте то представление в качестве шаблона для обновленного представления. Обновить содержимое в Slide объекты, используйте API PPT.

  1. Откройте myNewPPTPresentation представление. В PowerPoint нажмите View> Normal.

  2. Просмотрите имена объектов содержания в слайдах. Во вкладке Home нажмите Select> Selection Pane. Когда вы кликаете по содержимому в понижении, панель Selection подсвечивает имя объекта содержания.

  3. Переименуйте объекты содержания. В панели Selection PowerPoint кликните в довольном по полю имени и замените текущее имя на имя, которое вы хотите. Используйте эти уникальные имена, чтобы обновить объекты содержания.

    • Во втором понижении измените Title имя объекта к Histogram и Content имя объекта к HistBins.

    • В третьем понижении измените Title к RelatedFuncs. Измените Content к FuncList.

    • В четвертом понижении измените Content к ParamTable.

Импортируйте пакет API PPT

Все имена классов API PPT включают префиксный mlreportgen.ppt. Чтобы избежать потребности включать префикс в ваш код, вставьте этот оператор в начале программы API PPT.

import mlreportgen.ppt.*;

Примечание

import линия является первой линией в примере программы. Этот пример создает программу API PPT в разделах и поэтому не показывает import команда. Чтобы просмотреть полную программу, кликните по myUpdatedPresentation программе.

Создайте Presentation Объект

Создайте Presentation объект. Задайте:

  • myUpdatedPresentation.pptx как выходной файл для сгенерированного представления.

  • myNewPPTPresentation.pptx как шаблон PowerPoint. Используйте файл презентации, который вы хотите обновить как файл шаблона.

slidesFile = 'myUpdatedPresentation.pptx';
slides = Presentation(slidesFile,'myNewPPTPresentation.pptx');

Определение другого имени для выходного файла сохраняет исходную презентацию. Если вы хотите перезаписать существующую презентацию, можно использовать имя файла шаблона в качестве имени файла для выходного файла.

Замените изображение

Измените заголовок второго понижения. Создайте Picture возразите, чтобы заменить существующее изображение. Можно использовать find метод с Presentation возразите, чтобы найти объекты содержания под названием HistBins и Histogram (уникальные имена вы задали использование PowerPoint).

histTitle = Paragraph('Histogram with Specified Bin Edges');
replace(slides,'Histogram',histTitle);

x = randn(1000,1);
edges = [-10 -2:0.25:2 10];
h = histogram(x,edges);
saveas(gcf,'hist_plot.png');

plotEdges = Picture('hist_plot.png');

replace(slides,'HistBins',plotEdges)

Замените текст на ссылки

Измените заголовок третьего понижения. Создайте текст, чтобы заменить существующий текст. Текст включает ссылки на онлайн-документацию MathWorks®. Добавьте ExternalLink объекты к Paragraph объекты и замена содержимое понижения использование массива ячеек Paragraph объекты.

funcsTitle = Paragraph('Related Functions');
replace(slides,'RelatedFuncs',funcsTitle);

histCounts = Paragraph();
histCountsLink = ExternalLink...
('https://www.mathworks.com/help/matlab/ref/histcounts.html','histcounts');
append(histCounts,histCountsLink);

fewerbins = Paragraph();
fewerbinsLink = ExternalLink...
('https://www.mathworks.com/help/matlab/ref/fewerbins.html','fewerbins');
append(fewerbins,fewerbinsLink);

replace(slides,'FuncList',{histCounts,fewerbins});

Замените таблицу

Чтобы составить таблицу, создайте Table объект. В Table конструктор, можно задать массив ячеек значений для ячеек таблицы. Чтобы получить полужирный текст для верхней строки, включайте Paragraph объекты как первые три элемента массива ячеек. Затем замените таблицу.

long = Paragraph('Long Name');
long.Bold = true;
short = Paragraph('Short Name');
short.Bold = true;
rgb = Paragraph('RGB triplet');
rgb.Bold = true;

table2 = Table({long,short,rgb;'yellow','y','[1 1 0]';'green','g','[1 0 1] '});

contents = find(slides,'ParamTable');
replace(slides,'ParamTable',table2);

Вставьте новое понижение

Можно использовать API PPT, чтобы вставить новое понижение в существующую презентацию, и можно задать числовое местоположение понижения. Например, этот код делает новое понижение пятым понижением в представлении.

newSlide = add(slides,'Title and Content',5);

Однако, чтобы иметь понижение предшествуют определенному понижению, даже если позже вы добавляете или удаляете другие слайды, можно задать ссылочное понижение. Чтобы использовать этот подход при обновлении существующей презентации PowerPoint, используйте API PPT, чтобы назвать ссылочное понижение. Используйте имя ссылочного понижения, когда вы вставите новое понижение.

slides.Children(2).Name = 'ReferenceSlide';

refSlide = find(slides,'ReferenceSlide');
introSlide = add(slides,'Title and Content',refSlide);

contents = find(introSlide,'Title');
replace(contents(1),'Histogram Plots');

introText = Paragraph('You can use the ');
code = Text('histogram');
code.Font = 'Courier New';
append(introText,code);
append(introText,'  function to create many types of plots.');

contents = find(introSlide,'Content');
replace(contents(1),introText);

Сгенерируйте и откройте представление

Сгенерируйте презентацию PowerPoint. Используйте close метод с Presentation объект.

close(slides);

Откройте представление myUpdatedPresentation.pptx файл. На платформе Windows® можно открыть представление в MATLAB:

if ispc
    winopen(slidesFile);
end

Код для myUpdatedPresentation

Вот полная программа API PPT, чтобы создать myUpdatedPresentation представление.

Примечание

Этот код требует что myNewPPTPresentation.pptx файл быть в вашей текущей папке. Чтобы сгенерировать то представление, кликните по myNewPPTPresentation программе и выполните код в MATLAB. Прежде чем вы запустите код для myUpdatedPresentation, убедитесь, что существующая презентация включает изменения, описанные в Настроенный Существующая презентация.

import mlreportgen.ppt.*;

slidesFile = 'myUpdatedPresentation.pptx';
slides = Presentation(slidesFile,'myNewPPTPresentation.pptx');

histTitle = Paragraph('Histogram with Specified Bin Edges');
replace(slides,'Histogram',histTitle);

x = randn(1000,1);
edges = [-10 -2:0.25:2 10];
h = histogram(x,edges);
saveas(gcf,'hist_plot.png');

plotEdges = Picture('hist_plot.png');

replace(slides,'HistBins',plotEdges)

funcsTitle = Paragraph('Related Functions');
replace(slides,'RelatedFuncs',funcsTitle);

histCounts = Paragraph();
histCountsLink = ExternalLink...
('https://www.mathworks.com/help/matlab/ref/histcounts.html','histcounts');
append(histCounts,histCountsLink);

fewerbins = Paragraph();
fewerbinsLink = ExternalLink...
('https://www.mathworks.com/help/matlab/ref/fewerbins.html','fewerbins');
append(fewerbins,fewerbinsLink);

replace(slides,'FuncList',{histCounts,fewerbins});

long = Paragraph('Long Name');
long.Bold = true;
short = Paragraph('Short Name');
short.Bold = true;
rgb = Paragraph('RGB triplet');
rgb.Bold = true;

table2 = Table({long,short,rgb;'yellow','y','[1 1 0]'; 'green', 'g','[1 0 1] '});

contents = find(slides,'ParamTable');
replace(slides,'ParamTable',table2);


slides.Children(2).Name = 'ReferenceSlide';

refSlide = find(slides,'ReferenceSlide');
introSlide = add(slides,'Title and Content',refSlide(1));

contents = find(introSlide,'Title')
replace(contents(1),'Histogram Plots');

introText = Paragraph('You can use the ');
code = Text('histogram ');
code.Style = {FontFamily('Courier New')};
append(introText,code);
append(introText,'function to create many types of plots.');

contents = find(introSlide,'Content');
replace(contents(1),introText);

close(slides);
if ispc
    winopen(slidesFile);
end

Похожие темы