首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PowerPoint中设置表格样式格式- 2013

在PowerPoint中设置表格样式格式- 2013
EN

Stack Overflow用户
提问于 2017-03-16 20:38:50
回答 1查看 906关注 0票数 2

我有以下代码块,它循环访问工作簿中的表名数组。它是来自调用过程(回调)的ParamArray。它复制每个表格并将其粘贴到ppt幻灯片。然后创建一个textbox,这是表的标题。我使用目标样式(我认为这是默认样式)粘贴它,因为我想使用ppt样式。我从Excel粘贴的对象是一个表。如何在粘贴后更改表格的样式并将第一行设置为粗体?更改PowerPoint表格样式似乎没有很好的文档记录。我尝试了下面的评论部分,但它不起作用。谢谢!

代码语言:javascript
复制
For i = LBound(vObjects(0)) To UBound(vObjects(0))
        Set practice = ActiveWorkbook.Worksheets(Range("T_" & vObjects(0)(i)).Parent.Name).ListObjects("T_" & vObjects(0)(i))
        practice.Range.Copy
        PPT_Slide.Shapes.Paste 'Special DataType:=ppPasteOLEObject, Link:=msoTrue
        Set PPT_Shape = PPT_Slide.Shapes(PPT_Slide.Shapes.Count)
        PPT_Shape.Name = "OBJ_" & vObjects(0)(i)
'        With PPT_Shape
'            .ApplyStyle "{C083E6E3-FA7D-4D7B-A595-EF9225AFEA82}", True
'            .Rows(1).Font.Bold = True
'        End With
        Set objPPT_MilestoneTextbox = PPT_Slide.Shapes.AddTextbox(1, Left:=320, Top:=HorizontalTop, Width:=300, Height:=50).TextFrame.TextRange
        With objPPT_MilestoneTextbox
            .Text = vObjects(0)(i)
            .Font.Size = 14
            .Font.Bold = True
            .ParagraphFormat.Alignment = 2
        End With
        Set PPT_Shape = PPT_Slide.Shapes(PPT_Slide.Shapes.Count)
        PPT_Shape.Name = "CAP_" & vObjects(0)(i)
    Next i
    Application.CutCopyMode = False
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-16 23:22:48

此MS页面记录了PPT 2010的表格样式ids (并指出它们在后续版本中可能不同):

https://code.msdn.microsoft.com/office/PowerPoint-2010-Interact-ea2fbe1b

但是您需要将样式应用于形状的.Table对象,而不是形状本身。试着这样修改你的代码:

代码语言:javascript
复制
Dim otbl As Table
Set PPT_Shape = PPT_Slide.Shapes(PPT_Slide.Shapes.Count)
Set otbl = PPT_Shape.Table
With otbl
    .ApplyStyle "{C083E6E3-FA7D-4D7B-A595-EF9225AFEA82}", True
End With
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42834347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档