ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1707|回复: 11

Shapes.AddTable,如何选择Ppt的表格不同模板。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-6 07:00 | 显示全部楼层 |阅读模式


PPT表格有好几种表格模板。下面程序插入的表格只有一种模板。
如何更换表格模板?

Sld.Shapes.AddTable(Rr, Cc, Left, Top, Width, Height)----如何选择不同的模板。

dd.jpg


  1. Private Sub del25()

  2.     Dim Pres As Presentation
  3.     Dim Sld As Slide
  4.     Dim ShpRng As ShapeRange
  5.     Dim Shp ' As Shape
  6.     Dim oTab As Table, oCount
  7.     Dim Rr, Cc, Left, Top, Width, Height
  8.          Set Pres = Presentations.Add ' Ppt.ActivePresentation
  9.          With Pres.PageSetup
  10.               .FirstSlideNumber = 1
  11.               .SlideOrientation = msoOrientationVertical
  12.               .NotesOrientation = msoOrientationVertical
  13.          End With
  14.          ''
  15.          If Pres.Slides.Count > 0 Then
  16.               Set Sld = Pres.Slides(Pres.Slides.Count)
  17.               Sld.moveTo 1
  18.               For Each Shp In Sld.Shapes
  19.                    If Shp.Type = msoTable Then
  20.                          Debug.Print Shp.Type, Shp.Name
  21.                          Shp.Delete
  22.                    End If
  23.               Next Shp
  24.          Else
  25.               Set Sld = Pres.Slides.Add(1, ppLayouBlank)
  26.          End If
  27.          
  28.          Rr = 10: Cc = 4
  29.          Left = 50: Top = 380
  30.          Width = 400: Height = 400
  31.          Set Shp = Sld.Shapes.AddTable(Rr, Cc, Left, Top, Width, Height)
  32.          Shp.Select
  33.          oCount = Ppt.ActiveWindow.Selection.ShapeRange.Count
  34.          Set oTab = Ppt.ActiveWindow.Selection.ShapeRange(oCount).Table
  35.          With oTab
  36.               For jj = 1 To .Columns.Count
  37.                   .Columns(jj).Width = 80
  38.               Next jj
  39.          End With
  40.          ''
  41.          For ii = 1 To Rr
  42.              For jj = 1 To Cc
  43.                  With oTab.Cell(ii, jj).Shape.TextFrame
  44.                     With .TextRange
  45.                        .Text = ii & "X" & jj & "=" & ii * jj
  46.                        .Font.Size = 20
  47.                        If jj = 1 Then
  48.                            .Font.color.RGB = RGB(255, 0, 0) 'RGB(83, 134, 139)
  49.                        End If
  50.                     End With
  51.                  End With
  52.               Next jj
  53.               oTab.Rows(ii).Height = 10
  54.          Next ii
  55.          Stop
  56.          Ppt.Quit
  57. End Sub
复制代码


TA的精华主题

TA的得分主题

发表于 2023-2-6 12:51 来自手机 | 显示全部楼层
本帖最后由 lss001 于 2023-2-6 16:24 编辑

Sub 设置ppt表格模板样式以及数据()
    '新建表格时使用
    With ActivePresentation.Slides(1) '指定幻灯片
        With .Shapes.AddTable(9, 7, 50, 100, 400, 200).Table
            '指定表格模板样式:深色样式 1
            .ApplyStyle _
            "{E8034E78-7F5D-4C2E-B375-FC64B27BC917}"
            For x = 1 To .Rows.Count '表格数据
                For y = 1 To .Columns.Count
                    .Cell(x, y).Shape.TextFrame. _
                    TextRange.Text = x + y
                Next
            Next
        End With
    End With

'    '修改表格时使用
'    With ActivePresentation.Slides(1) '指定幻灯片
'        For i = 1 To .Shapes.Count '判断表格
'            If .Shapes(i).HasTable = msoTrue Then
'            With .Shapes(i).Table
'                '指定表格模板样式:浅色样式 1
'                .ApplyStyle _
'                "{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}"
'                For x = 1 To .Rows.Count '表格数据
'                    For y = 1 To .Columns.Count
'                        .Cell(x, y).Shape.TextFrame. _
'                        TextRange.Text = x + y
'                    Next
'                Next
'            End With
'            End If
'        Next
'    End With
End Sub

'模板样式Id:
'"{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}" '浅色样式 1
'"{7E9639D4-E3E2-4D34-9284-5A2195B3D0D7}" '浅色样式 2
'"{616DA210-FB5B-4158-B5E0-FEB733F419BA}" '浅色样式 3
'"{793D81CF-94F2-401A-BA57-92F5A7B2D0C5}" '中度样式 1
'"{073A0DAA-6AF3-43AB-8588-CEC1D06C72B9}" '中度样式 2
'"{8EC20E35-A176-4012-BC5E-935CFFF8708E}" '中度样式 3
'"{D7AC3CCA-C797-4891-BE02-D94E43425B78}" '中度样式 4
'"{E8034E78-7F5D-4C2E-B375-FC64B27BC917}" '深色样式 1
'"{5202B0CA-FC54-4496-8BCA-5EF66A818D29}" '深色样式 2
'
'"{3B4B98B0-60AC-42C2-AFA5-B58CD77FA1E5}" '浅色样式 1 - 强调 1
'"{69012ECD-51FC-41F1-AA8D-1B2483CD663E}" '浅色样式 2 - 强调 1
'"{BC89EF96-8CEA-46FF-86C4-4CE0E7609802}" '浅色样式 3 - 强调 1
'"{B301B821-A1FF-4177-AEE7-76D212191A09}" '中度样式 1 - 强调 1
'"{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}" '中度样式 2 - 强调 1
'"{6E25E649-3F16-4E02-A733-19D2CDBF48F0}" '中度样式 3 - 强调 1
'"{69CF1AB2-1976-4502-BF36-3FF5EA218861}" '中度样式 4 - 强调 1
'"{125E5076-3810-47DD-B79F-674D7AD40C01}" '深色样式 1 - 强调 1
'"{0660B408-B3CF-4A94-85FC-2B1E0A45F4A2}" '深色样式 2 - 强调 1/强调 2
'
'"{0E3FDE45-AF77-4B5C-9715-49D594BDF05E}" '浅色样式 1 - 强调 2
'"{72833802-FEF1-4C79-8D5D-14CF1EAF98D9}" '浅色样式 2 - 强调 2
'"{5DA37D80-6434-44D0-A028-1B22A696006F}" '浅色样式 3 - 强调 2
'"{9DCAF9ED-07DC-4A11-8D7F-57B35C25682E}" '中度样式 1 - 强调 2
'"{21E4AEA4-8DFA-4A89-87EB-49C32662AFE0}" '中度样式 2 - 强调 2
'"{85BE263C-DBD7-4A20-BB59-AAB30ACAA65A}" '中度样式 3 - 强调 2
'"{8A107856-5554-42FB-B03E-39F5DBC370BA}" '中度样式 4 - 强调 2
'"{37CE84F3-28C3-443E-9E96-99CF82512B78}" '深色样式 1 - 强调 2
'"{91EBBBCC-DAD2-459C-BE2E-F6DE35CF9A28}" '深色样式 2 - 强调 3/强调 4
'
'"{C083E6E3-FA7D-4D7B-A595-EF9225AFEA82}" '浅色样式 1 - 强调 3
'"{F2DE63D5-997A-4646-A377-4702673A728D}" '浅色样式 2 - 强调 3
'"{8799B23B-EC83-4686-B30A-512413B5E67A}" '浅色样式 3 - 强调 3
'"{1FECB4D8-DB02-4DC6-A0A2-4F2EBAE1DC90}" '中度样式 1 - 强调 3
'"{F5AB1C69-6EDB-4FF4-983F-18BD219EF322}" '中度样式 2 - 强调 3
'"{EB344D84-9AFB-497E-A393-DC336BA19D2E}" '中度样式 3 - 强调 3
'"{0505E3EF-67EA-436B-97B2-0124C06EBD24}" '中度样式 4 - 强调 3
'"{D03447BB-5D67-496B-8E87-E561075AD55C}" '深色样式 1 - 强调 3
'"{46F890A9-2807-4EBB-B81D-B2AA78EC7F39}" '深色样式 2 - 强调 5/强调 6
'
'"{D27102A9-8310-4765-A935-A1911B00CA55}" '浅色样式 1 - 强调 4
'"{17292A2E-F333-43FB-9621-5CBBE7FDCDCB}" '浅色样式 2 - 强调 4
'"{ED083AE6-46FA-4A59-8FB0-9F97EB10719F}" '浅色样式 3 - 强调 4
'"{1E171933-4619-4E11-9A3F-F7608DF75F80}" '中度样式 1 - 强调 4
'"{00A15C55-8517-42AA-B614-E9B94910E393}" '中度样式 2 - 强调 4
'"{EB9631B5-78F2-41C9-869B-9F39066F8104}" '中度样式 3 - 强调 4
'"{C4B1156A-380E-4F78-BDF5-A606A8083BF9}" '中度样式 4 - 强调 4
'"{E929F9F4-4A8F-4326-A1B4-22849713DDAB}" '深色样式 1 - 强调 4
'
'"{5FD0F851-EC5A-4D38-B0AD-8093EC10F338}" '浅色样式 1 - 强调 5
'"{5A111915-BE36-4E01-A7E5-04B1672EAD32}" '浅色样式 2 - 强调 5
'"{BDBED569-4797-4DF1-A0F4-6AAB3CD982D8}" '浅色样式 3 - 强调 5
'"{FABFCF23-3B69-468F-B69F-88F6DE6A72F2}" '中度样式 1 - 强调 5
'"{7DF18680-E054-41AD-8BC1-D1AEF772440D}" '中度样式 2 - 强调 5
'"{74C1A8A3-306A-4EB7-A6B1-4F7E0EB9C5D6}" '中度样式 3 - 强调 5
'"{22838BEF-8BB2-4498-84A7-C5851F593DF1}" '中度样式 4 - 强调 5
'"{8FD4443E-F989-4FC4-A0C8-D5A2AF1F390B}" '深色样式 1 - 强调 5
'
'"{68D230F3-CF80-4859-8CE7-A43EE81993B5}" '浅色样式 1 - 强调 6
'"{912C8C85-51F0-491E-9774-3900AFEF0FD7}" '浅色样式 2 - 强调 6
'"{E8B1032C-EA38-4F05-BA0D-38AFFFC7BED3}" '浅色样式 3 - 强调 6
'"{10A1B5D5-9B99-4C35-A422-299274C87663}" '中度样式 1 - 强调 6
'"{93296810-A885-4BE3-A3E7-6D5BEEA58F35}" '中度样式 2 - 强调 6
'"{2A488322-F2BA-4B5B-9748-0D474271808F}" '中度样式 3 - 强调 6
'"{16D9F66E-5EB9-4882-86FB-DCBF35E3C3E4}" '中度样式 4 - 强调 6
'"{AF606853-7671-496A-8E4F-DF71F8EC918B}" '深色样式 1 - 强调 6

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-6 13:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 ning84 于 2023-2-6 21:06 编辑

来回看Ppt-VBA的帮助文件也没有早到解决方法。
dd1.jpg


就是提示错误。
dd.jpg



也找不到oTab到底是如何选用模板的。
测试程序找到表格的 font,但找不到单元格的底色。



  1. Function GoTable(oTab As Table)
  2.       With oTab
  3.             For ii = 1 To .Rows.Count
  4.                  For jj = 1 To .Columns.Count
  5.                        Debug.Print .Cell(ii, jj).Shape.TextFrame.TextRange.Text
  6.                        Debug.Print .Application.Path
  7.                        Debug.Print .Rows.Item(ii).Height
  8.                        With .Cell(ii, jj).Shape.TextFrame.TextRange
  9.                             Debug.Print .Font.Color.RGB
  10.                            
  11.                        End With
  12.                     
  13.                  Next jj
  14.                  Debug.Print .Parent.Name, .Parent.Type
  15.                  
  16.             Next ii
  17.             
  18.       End With
  19. End Function

  20. Sub ldl()
  21.     Dim Pres As Presentation
  22.     Dim Shp As Shape
  23.     Dim oTab As Table
  24.         Set Pres = Application.ActivePresentation
  25.         
  26.         'Set Shp = Pres.Slides(1).Shapes.AddTable(2, 2, 0, 0, 0, 0)
  27.         For Each Shp In Pres.Slides(5).Shapes
  28.             If Shp.HasTable Then
  29.                  With Shp
  30.                       Debug.Print .Name
  31.                       .Left = 5
  32.                       .Top = 300
  33.                       Set oTab = .Table
  34.                  End With
  35.                  GoTable oTab
  36.             End If
  37.         Next Shp
  38.    
  39. End Sub
复制代码



TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-7 06:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
lss001 发表于 2023-2-6 12:51
Sub 设置ppt表格模板样式以及数据()
    '新建表格时使用
    With ActivePresentation.Slides(1) '指定 ...

看帮助文件解决不了问题,非常感谢高手的回复,又学习一个知识点。
dd.jpg
Table.ApplyStyle 方法 (PowerPoint) | Microsoft Learn  https://learn.microsoft.com/zh-c ... nt.table.applystyle

对指定表格应用表格样式。
语法
expression. ApplyStyle( _StyleID_, _SaveFormatting_ )
表达 一个代表 [color=var(--theme-visited)]Table 对象的变量。
参数
名称
必需/可选
数据类型
说明

StyleID可选String要应用的表格样式的标识符。
SaveFormatting可选Boolean如此 保留表格格式。
另请参阅
[color=var(--theme-visited)]表对象
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 [color=var(--theme-visited)]Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。




建议的内容

  1. Private Sub del()
  2.      Dim Pres As Presentation
  3.      Dim Sld As Slide
  4.      Dim Shp As Shape
  5.      Dim oTab As Table
  6.           Set Pres = Application.ActivePresentation
  7.           Set Sld = Pres.Slides(Pres.Slides.Count)
  8.           Set Shp = Sld.Shapes(Sld.Shapes.Count)
  9.           Set oTab = Shp.Table
  10.           With oTab
  11.                 .ApplyStyle "{9D7B26C5-4107-4FEC-AEDC-1716B250A1EF}"
  12.                 .ApplyStyle "{0660B408-B3CF-4A94-85FC-2B1E0A45F4A2}" '深色样式 2 - 强调 1/强调 2
  13.                 .ApplyStyle "{93296810-A885-4BE3-A3E7-6D5BEEA58F35}" '中度样式 2 - 强调 6

  14.                 For ii = 1 To .Rows.Count
  15.                       ''
  16.                       .Rows(ii).Height = 6
  17.                       For jj = 1 To .Columns.Count
  18.                           ''
  19.                           With .Cell(ii, jj).Shape.TextFrame.TextRange
  20.                                  .Text = ii & "X" & jj & "=" & ii * jj
  21.                                  .Font.Size = 5
  22.                                  
  23.                           End With
  24.                       Next jj
  25.                 Next ii
  26.                
  27.           End With
  28. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-2-7 22:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 ning84 于 2023-2-8 15:54 编辑

又做了一遍题目,有点感觉。
再次感谢lss001的帮助。

幻灯片23.JPG



  1. Private Sub del()
  2.     Dim Rng As Range
  3.     Dim Ppt As PowerPoint.Application
  4.     Dim Pres As Presentation
  5.     Dim Sld As Slide
  6.     Dim Shp 'As Shape
  7.     Dim oTab As Table
  8.     Dim TabRow As Integer, TabCol As Integer
  9.     Dim oSum, oNum As Integer
  10.     Dim FontSize
  11.         TabRow = 27
  12.         TabCol = 4

  13.         ''
  14.         Set Ppt = New PowerPoint.Application
  15.         Ppt.Visible = msoTrue
  16.         Set Pres = Ppt.Presentations.Add
  17.         With Pres.PageSetup
  18.              .SlideSize = ppSlideSizeCustom
  19.              .SlideWidth = 720
  20.              .SlideHeight = 425
  21.              ''.FirstSlideNumber = 1
  22.              .SlideOrientation = msoOrientationHorizontal
  23.              .NotesOrientation = msoOrientationVertical
  24.         End With
  25.         ''
  26.         oSum = 1
  27.         oNum = 1
  28.         For kk = 1 To Rng.Rows.Count
  29.            With Pres
  30.                Set Sld = .Slides.Add(.Slides.Count + 1, ppLayoutBlank)
  31.                Sld.MoveTo .Slides.Count
  32.            End With
  33.            oSum = oSum + ii
  34.            Set Shp = Sld.Shapes.AddTable(TabRow, TabCol, 0, 0, 100)
  35.            With Shp
  36.                .Left = 10
  37.                .Top = 10
  38.            End With
  39.            Set oTab = Shp.Table
  40.            With oTab
  41.                  For jj = 1 To TabCol
  42.                       .Columns.Item(jj).Width = ww
  43.                  Next jj
  44.                 .ApplyStyle Rng(kk, 1), True
  45.                 .Cell(1, 1).Merge .Cell(1, TabCol)
  46.                 .Cell(1, 1).Shape.TextFrame.TextRange.Text = Rng(1, 2)
  47.                 For ii = 2 To TabRow
  48.                     For jj = 1 To TabCol
  49.                        .Rows.Item(ii).Height = 1
  50.                        .Cell(ii, jj).Shape.TextFrame.TextRange.Text = oNum & "+" & oSum & "=" & Application.WorksheetFunction.Text(oNum + oSum, "[DBNum1]")
  51.   
  52.                        oNum = oNum + 1
  53.                        oSum = oSum + oNum

  54.                     Next jj
  55.                 Next ii
  56.            End With
  57.         Next kk

  58. End Sub

复制代码
再优化一下

  1. ''
  2. Function SldNewOneTable(Pres As Presentation, DataArr, TabSty, FontSize, MergeStr, Left, Top, TabRow, TabCol, ColWidArr)
  3.      Dim Sld As Slide
  4.      Dim Shp
  5.      Dim oTab As Table
  6.      Dim Sss
  7.            ''
  8.            With Pres
  9.                Set Sld = .Slides.Add(.Slides.Count + 1, ppLayoutBlank)
  10.                Sld.MoveTo .Slides.Count
  11.            End With
  12.            If MergeStr = "" Then
  13.                 Set Shp = Sld.Shapes.AddTable(TabRow, TabCol, 0, 0, 100)
  14.            Else
  15.                 Set Shp = Sld.Shapes.AddTable(TabRow + 1, TabCol, 0, 0, 100)
  16.            End If
  17.            With Shp
  18.                .Left = Left
  19.                .Top = Top
  20.            End With
  21.            Set oTab = Shp.Table
  22.            With oTab
  23.                  ''
  24.                  For jj = 1 To TabCol
  25.                       .Columns.Item(jj).Width = ColWidArr(jj - 1)
  26.                  Next jj
  27.                 .ApplyStyle TabSty, True
  28.                 If MergeStr = "" Then
  29.                        Sss = 0
  30.                 Else
  31.                        Sss = 1
  32.                        .ApplyStyle MergeStr, True
  33.                        If TabCol > 1 Then
  34.                              .Cell(1, 1).Merge .Cell(1, TabCol)
  35.                        End If
  36.                        .Cell(1, 1).Shape.TextFrame.TextRange.Text = MergeStr
  37.                 End If
  38.                 For ii = 1 To TabRow
  39.                     For jj = 1 To TabCol
  40.                        .Cell(Sss + ii, jj).Shape.TextFrame.TextRange.Text = DataArr(ii - 1, jj - 1)
  41.                        .Cell(Sss + ii, jj).Shape.TextFrame.TextRange.Font.Size = FontSize
  42.                     Next jj
  43.                     .Rows.Item(Sss + ii).Height = 1
  44.                 Next ii
  45.                
  46.            End With

  47. End Function
复制代码

演示文稿1.zip

250.34 KB, 下载次数: 1

演示文稿1.zip

212.03 KB, 下载次数: 1

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-25 21:11 | 显示全部楼层
lss001 发表于 2023-2-6 12:51
Sub 设置ppt表格模板样式以及数据()
    '新建表格时使用
    With ActivePresentation.Slides(1) '指定 ...
  1. Sub lll2()
  2.    Dim Arr(9)
  3.         Arr(0) = "{91EBBBCC-DAD2-459C-BE2E-F6DE35CF9A28}"
  4.         Arr(1) = "{46F890A9-2807-4EBB-B81D-B2AA78EC7F39}"
  5.         Arr(2) = "{5202B0CA-FC54-4496-8BCA-5EF66A818D29}"
  6.         Arr(3) = "{EB344D84-9AFB-497E-A393-DC336BA19D2E}"
  7.         Arr(4) = "{B301B821-A1FF-4177-AEE7-76D212191A09}"
  8.         Arr(5) = "{1E171933-4619-4E11-9A3F-F7608DF75F80}"
  9.         Arr(6) = "{69CF1AB2-1976-4502-BF36-3FF5EA218861}"
  10.         Arr(7) = "{91EBBBCC-DAD2-459C-BE2E-F6DE35CF9A28}"
  11.         Arr(8) = "{46F890A9-2807-4EBB-B81D-B2AA78EC7F39}"
  12.         Arr(9) = "{69CF1AB2-1976-4502-BF36-3FF5EA218861}"
  13.     Dim oNum, oNum1
  14.     Dim oStyle
  15.         oNum = 10
  16.     Dim Pres As Presentation
  17.         Set Pres = Application.ActivePresentation
  18.     Dim Sld As Slide, oTable As Table
  19.         For ii = 2 To Pres.Slides.Count
  20.             Set Sld = Pres.Slides(ii)
  21.             Set oTable = Sld.Shapes("oTable").Table
  22.             Debug.Print ii, (ii + oNum + oNum1) Mod oNum '+ 1 - 1
  23.             kk = (ii + oNum + oNum1) Mod oNum
  24.             oTable.ApplyStyle Arr(kk), True
  25.         Next ii
  26. End Sub
复制代码


  1.    Dim Pres As Presentation
  2.    Dim Sld As Slide, Shp As Shape
  3.    Dim oTable As Table
  4.    Dim Str
  5.    Dim StyleArr(2)
  6.         Set Pres = Application.ActivePresentation
  7.         
  8.         For ii = 2 To 11
  9.             
  10.              Set Sld = Pres.Slides(ii)
  11.              Set oTable = Sld.Shapes("oTable").Table
  12.             Str = "        Arr(" & ii - 2 & ")=""" & oTable.Style.Id & """"
  13.             Debug.Print Str
  14.             'Debug.Print oTable.Style.Id, oTable.Style.Name
  15.         Next ii
  16.         Stop
复制代码


TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-27 08:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub sa()
  2.    Dim Pres As Presentation
  3.        Set Pres = Application.ActivePresentation
  4.    Dim oTable As Table
  5.        Set oTable = Pres.Slides(19).Shapes("oTable").Table
  6.        With oTable
  7.            .Cell(1, 1).Shape.TextFrame.TextRange.ParagraphFormat.Alignment = 2
  8.        End With
  9. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-28 07:11 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Slide.SlideShowTransition 属性
返回一个 SlideShowTransition 对象,该对象代表指定幻灯片切换的特殊效果。只读。
语法

表达式.SlideShowTransition

表达式   一个代表 Slide 对象的变量。

返回值
SlideShowTransition
代码没有调试成功。
  1. Sub ll()
  2.    Dim Pres As Presentation
  3.        Set Pres = Application.ActivePresentation
  4.    Dim Sld As Slide
  5.        Set Sld = Pres.Slides(1)
  6.        With Sld.SlideShowTransition
  7.           .SoundEffect.ImportFromFile "F:\1.mp3"
  8.           .AdvanceOnTime = msoCTrue
  9.           '.AdvanceTime = 1000
  10.        End With
  11.       

  12. End Sub
复制代码



TA的精华主题

TA的得分主题

 楼主| 发表于 2023-7-29 23:47 | 显示全部楼层
  1. Sub ll()
  2.    Dim Pres As Presentation
  3.        Set Pres = Application.ActivePresentation
  4.    Dim Sld As Slide
  5.          For ii = 1 To Pres.Slides.Count
  6.              Set Sld = Pres.Slides(ii)
  7.              Sld.Export "F:\1\A" & Format(ii, "000") & ".JPG", "JPG", 1920, 2560
  8.          Next ii
  9.       
  10. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-10-31 18:23 | 显示全部楼层
继续学习

  1. Sub ll1()
  2.     Dim Pres As Presentation
  3.         Set Pres = Application.ActivePresentation
  4.     Dim Sld As Slide, Shp As Shape
  5.     Dim oTab As Table
  6.     Dim TableStyle
  7.     Dim Www, Ww, Hh

  8.         TableStyle = "2D5ABB26-0587-4C30-8999-92F81FD0307C}"
  9.         Set Sld = Pres.Slides(5)
  10.         Set Shp = Sld.Shapes(2)
  11.         Debug.Print Shp.Name
  12.         Shp.Delete
  13.         ''
  14.         With Pres.PageSetup
  15.              Www = 500
  16.              Ww = .SlideWidth
  17.              Hh = .SlideHeight
  18.         End With
  19.         Set Shp = Sld.Shapes.AddTable(3, 2, (Ww - Www) / 2, Hh - Hh / 10 - 10, Www, 0)
  20.         Set oTab = Shp.Table
  21.         With oTab
  22.              .ApplyStyle TableStyle
  23.              For ii = 1 To .Rows.Count
  24.                  For jj = 1 To .Columns.Count
  25.                       .Cell(ii, jj).Shape.TextFrame.TextRange.Text = ii & "-" & jj
  26.                  Next jj
  27.              Next ii
  28.         
  29.         End With
  30.         
  31. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-4 01:10 , Processed in 0.063842 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表