clone

Класс: mlreportgen.ppt.Paragraph
Пакет: mlreportgen.ppt

Скопируйте абзац API PPT

Синтаксис

objCopy = clone(obj)

Описание

objCopy = clone(obj) возвращает копию mlreportgen.ppt.Paragraph объект задан obj. Копия включает дочерние элементы исходного абзаца, но не родительский элемент.

Входные параметры

развернуть все

Объект Paragraph клонироваться в виде mlreportgen.ppt.Paragraph объект.

Выходные аргументы

развернуть все

Копия объекта Paragraph, возвращенная как mlreportgen.ppt.Paragraph объект.

Примеры

развернуть все

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

Импортируйте пакет API PPT так, чтобы вы не использовали долго, полностью определенные имена классов.

import mlreportgen.ppt.*;

Создайте и откройте представление. Добавьте понижение в представление.

ppt = Presentation("myPresentation.pptx");
open(ppt);
slide1 = add(ppt,"Title and Content");

Создайте Paragraph объект и набор Bold и Italic свойства к true. Замените содержимое slide1 с Paragraph объект.

p = Paragraph("My slide content");
p.Bold = true;
p.Italic = true;
replace(slide1,"Content",p);

Добавьте второе понижение в представление.

slide2 = add(ppt,"Title and Content");

Сделайте копию Paragraph возразите, что вы добавили к slide1. Значения атрибута копии имеют те же значения как источник Paragraph объект.

pcopy = clone(p)
pcopy = 
  Paragraph with properties:

                 Bold: 1
                 Font: []
    ComplexScriptFont: []
            FontColor: []
             FontSize: []
               Italic: 1
               Strike: []
            Subscript: []
          Superscript: []
            Underline: []
               HAlign: []
                Level: []
                Style: {[1×1 mlreportgen.ppt.Bold]  [1×1 mlreportgen.ppt.Italic]}
             Children: [1×1 mlreportgen.ppt.Text]
               Parent: []
                  Tag: 'ppt.Paragraph:66'
                   Id: '66'

Добавьте дополнительное содержимое к копии Paragraph объект.

append(pcopy," for the second slide");

Замените содержимое второго понижения с копией.

replace(slide2,"Content",pcopy);

Закройте и просмотрите представление.

close(ppt);
rptview(ppt);

Этот пример показывает отношение между форматами абзаца и копии абзаца.

Когда вы устанавливаете свойство формата в mlreportgen.ppt.Paragraph объект, API PPT добавляет соответствующий объект формата в Style свойство Paragraph объект. Когда вы клонируете Paragraph объект, копия имеет те же значения свойства формата и включает те же объекты формата как источник Paragraph объект. Если вы изменяете параметр формата в разделяемом объекте формата, источник Paragraph возразите и копия отражают изменение. Если вы изменяете свойство формата источника Paragraph возразите или копия, API PPT добавляет новый объект формата в Style свойство объекта, который вы изменили. Поскольку источник Paragraph возразите и копия больше не совместно используют тот же объект формата, изменение в свойстве формата в одном из Paragraph объекты не влияют на другой объект.

Создайте mlreportgen.ppt.Paragraph объект с Bold и Italic набор свойств к true.

import mlreportgen.ppt.*;
p = Paragraph("My slide content");
p.Bold = true;
p.Italic = true;

API PPT устанавливает Style свойство Paragraph возразите против массива ячеек, который содержит mlreportgen.ppt.Bold объект с Value установите на true и mlreportgen.ppt.Italic объект с Value установите на true.

p.Style
ans=1×2 cell array
    {1x1 mlreportgen.ppt.Bold}    {1x1 mlreportgen.ppt.Italic}

Клонируйте Paragraph объект. Bold, Italic, and Style значения свойств совпадают с теми из источника Paragraph объект.

pClone = clone(p);
pClone.Bold
ans = logical
   1

pClone.Italic
ans = logical
   1

pClone.Style
ans=1×2 cell array
    {1x1 mlreportgen.ppt.Bold}    {1x1 mlreportgen.ppt.Italic}

В Style свойство источника Paragraph объект, набор Value свойство Italic возразите против false. Это изменение влияет на копию Paragraph возразите потому что его Style свойство включает тот же Italic возразите как источник Paragraph объект. API PPT устанавливает значение Italic свойство Paragraph скопируйте в false так, чтобы это совпадало со значением Italic объект включен в Style свойство.

p.Style{2}.Value = false;
pClone.Italic
ans = logical
   0

В копии Paragraph объект, набор Bold свойство к false. Это изменение не влияет на исходный объект Paragraph. В источнике Paragraph объект, Bold свойством является все еще true.

pClone.Bold = false;
p.Bold
ans = logical
   1

Советы

  • Используйте clone метод, чтобы включать то же содержимое абзаца несколько раз в представление.

  • Когда вы клонируете абзац, API PPT копирует все дочерние объекты исходного абзаца, но не родительский элемент абзаца.

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

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

Введенный в R2021b
Для просмотра документации необходимо авторизоваться на сайте