0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

think-cell:自定义think-cell(二)

哲想软件 来源:未知 2025-01-08 09:40 次阅读

C.2 加载样式文件

要加载样式文件,请从菜单 Tools 菜单图标。Tools 中选择 Load Style File...。在对话框中,导航到样式文件的位置,选择该文件,然后单击 Open。它用于当前演示文稿中的任何新图表。

例如,从 think-cell 安装目录中的目录加载示例样式文件后,颜色和配色方案属性控件将包含自定义项。example_style_complex.xmlstyles

7dd6fd50-cd5d-11ef-9310-92fbcf53809c.png

如果要在现有图表中应用样式的颜色或颜色方案,则需要手动执行此操作。

C.2.1 以编程方式加载样式文件

您还可以以编程方式加载样式文件,例如,作为准备新模板或更新模板的工作流程的一部分。API 调用的更精确度还允许在加载样式文件时指定其他选项,例如针对特定的自定义布局,甚至将样式限制为自定义布局的矩形区域,以及从自定义布局中删除它们并检查加载到主布局或自定义布局中的样式的名称。

think-cell 的 API 已集成到 Office Automation 模型中,因此可以从任何可用于 Office 编程的语言(如 Visual Basic for Applications (VBA) 或 C#))访问它。有关详细说明,请参阅 F.1 入门。

假设您有一个自定义布局,该布局对幻灯片的左侧和右侧使用不同的背景颜色。右侧与演示文稿其余部分的背景匹配,因此在母版中设置的样式在此处应用是很好的。但是,左侧使用不同的背景,因此修改后的样式是合适的。在这种情况下,您将用于为整个演示文稿设置一个样式文件。接下来,您将用于仅为相应自定义布局的左侧设置不同的样式。LoadStyleLoadStyleForRegion

以下部分介绍了可用的 API 调用。它们是 PowerPoint 中 think-cell 加载项对象的方法。

C.2.2 LoadStyle

C.2.2.1 签名

VBA

tcPpAddIn.LoadStyle( _ 
    CustomLayoutOrMaster As Object, _ 
    FileName As String 
)

C#

void tcPpAddIn.LoadStyle(
    object CustomLayoutOrMaster,
    string FileName

C.2.2.2 描述

此函数将样式文件 at 中包含的样式加载到主布局或自定义布局中,通过参数 .FileNameCustomLayoutOrMaster

CustomLayoutOrMaster必须是 CustomLayout 或 Master。

当应用于已设置区域样式的自定义布局时,区域样式将被删除。这意味着,在加载仅限于某个区域的样式之前,您需要使用此函数加载应应用于幻灯片其余部分的样式。

当应用于母版时,加载到该母版中包含的自定义布局中的任何样式(区域和无限制)都将被删除。这意味着,在使用此功能加载应用于特定自定义布局的样式之前,您需要将应应用于自定义布局的样式加载到没有特定样式的样式中。

C.2.2.3 示例

若要使用此示例,请将以下代码添加到 PowerPoint 中的模块中。

Option ExplicitSub LoadStyle_Sample() ' Get the think-cell add-in object Dim tcPpAddIn As Object Set tcPpAddIn = Application.COMAddIns("thinkcell.addin").Object Dim master As MasterSet master = Application.ActivePresentation.Designs(1).SlideMasterDim style As Stringstyle = "C:somepathstylesstyle.xml"Call tcPpAddIn.LoadStyle(master, style)End Sub

C.2.3 LoadStyleForRegion

C.2.3.1 签名

VBA

tcPpAddIn.LoadStyleForRegion( _ 
CustomLayout As PowerPoint.CustomLayout, _ 
FileName As String, _
Left as Single, _
Top as Single, _
Width as Single, _
Height as Single _
)

C#

void tcPpAddIn.LoadStyleForRegion(
PowerPoint.CustomLayout CustomLayout,
string FileName,
float Left,
float Top,
float Width,
float Height
);

C.2.3.2 描述

此函数将样式文件加载到自定义布局中,并将其限制为由 、、 指定的区域。在幻灯片的其余部分,将应用加载到母版中的样式,或之前加载到自定义版式中的样式。FileNameCustomLayoutLeftTopWidthHeightLoadStyle

参数 以 PowerPoint 点为单位给出。并分别指定区域的左边缘和上边缘与自定义布局的左边缘和上边缘的距离。通常,您会将它们设置为总幻灯片高度和宽度的分数。例如,对于覆盖自定义布局右三分之二的区域,您可以设置LeftTopWidthHeightLeftTop

Left = CustomLayout.Width / 3Top = 0Width = CustomLayout.Width * 2 / 3Height = CustomLayout.Height

您还可以手动将形状添加到幻灯片或自定义布局中,以编程方式查询其属性,并使用值 with 将样式限制为形状覆盖的同一区域。LeftTopWidthHeightLoadStyleForRegion

think-cell 支持每个自定义布局最多两种样式。一个设置并涵盖不限于某个区域的所有内容,另一个设置有 。LoadStyleLoadStyleForRegion

C.2.3.3 示例

若要使用此示例,请将以下代码添加到 PowerPoint 中的模块中

Option Explicit

Sub LoadStyleForRegion_Sample() 

' Get the think-cell add-in object 
Dim tcPpAddIn As Object 
Set tcPpAddIn = Application.COMAddIns("thinkcell.addin").Object 

Dim layout As CustomLayout
Set layout = Application.ActivePresentation.Designs(1).SlideMaster.CustomLayouts(2)

' Define a region covering the left half of the custom layout
Dim left, top, width, height As Single
left = 0
top = 0
width = layout.Width / 2
height = layout.Height

Dim style As String
style = "C:somepathstylesstyle.xml"

Call tcPpAddIn.LoadStyleForRegion(layout, style, left, top, width, height)
End Sub

C.2.4 删除样式

C.2.4.1 签名

tcPpAddIn.RemoveStyles( _ 
CustomLayout As PowerPoint.CustomLayout _ 
)

C#

void tcPpAddIn.RemoveStyles(
PowerPoint.CustomLayout CustomLayout
);

C.2.4.2 描述

此函数从自定义布局中删除所有样式 。之后,将应用加载到 master 中的样式。可能会有一个样式加载到自定义布局中,而另一个样式仅限于自定义布局的特定区域。删除所有样式时,两者都将被删除。加载到主控件中的样式无法删除,因为始终需要与主控件关联的有效样式。它可以被其他样式文件覆盖。CustomLayoutRemoveStyles

C.2.4.3 示例

若要使用此示例,请将以下代码添加到 PowerPoint 中的模块中

Option ExplicitSub RemoveStyles_Sample() ' Get the think-cell add-in object Dim tcPpAddIn As Object Set tcPpAddIn = Application.COMAddIns("thinkcell.addin").Object Dim layout As CustomLayoutSet layout = Application.ActivePresentation.Designs(1).SlideMaster.CustomLayouts(2)Call tcPpAddIn.RemoveStyles(layout)End Sub

C.2.5 GetStyleName

在 think-cell 13 及更高版本中受支持。

C.2.5.1 签名

VBA

tcPpAddIn.GetStyleName( _ 
    CustomLayoutOrMaster As Object _ 
) As String

C#

string tcPpAddIn.GetStyleName(
    object CustomLayoutOrMaster
);

C.2.5.2 描述

此函数返回加载到 CustomLayout 或 Master 或 .此名称与相应样式文件的元素属性中指定的名称相同(请参阅 D.2.1 样式)。CustomLayoutOrMastername