提问人:Blue Sky 提问时间:11/9/2023 最后编辑:Blue Sky 更新时间:11/9/2023 访问量:60
对每张幻灯片上的所有形状进行分组并将图片另存为SVG文件
Group all shapes on each slide and save picture as SVG file
问:
在每张幻灯片上,我想选择所有形状,然后对其进行分组并另存为SVG文件,然后转到下一张幻灯片,直到最后一张幻灯片。到目前为止,这就是我所拥有的,但它无法正常运行。任何建议将不胜感激。
这是我到目前为止的代码
Sub GroupandsaveSVG()
Dim folderPath As String
Dim sld As Slide
Dim shp As Shape
folderPath = Environ("USERPROFILE") & "\Desktop\mySVGs\"
On Error Resume Next
MkDir folderPath
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes.SelectAll
Selection.Group
Call .Export(folderPath & "Shape" & CStr(x) & ".svg", ppShapeFormatSVG)
Next
Next
End Sub
svg文件在保存后也出错。在此处输入图像描述
谢谢
这是在记事本中显示的内容,在此处输入图像描述
答:
0赞
taller
11/9/2023
#1
- 将形状分组
Shapes.Range.Group
- 导出为 svg 图像
Shapes.Range.Export
Option Explicit
Sub GroupSaveSVG()
Dim folderPath As String
Dim Sld As Slide
Dim Shp As Shape
Dim i As Integer
folderPath = Environ("USERPROFILE") & "\Desktop\mySVGs\"
On Error Resume Next
MkDir folderPath
On Error GoTo 0
For Each Sld In ActivePresentation.Slides
With Sld.Shapes.Range
If .Count > 1 Then .Group
.Export folderPath & "Shape" & CStr(i + 1) & ".svg", ppShapeFormatSVG
End With
i = i + 1
Next
End Sub
评论
0赞
Blue Sky
11/9/2023
非常感谢分组完美,它确实保存了SVG文件,但是当打开文件时,它显示错误并且看不到任何图片。当我尝试打开svg文件时,它显示此消息 此页面包含以下错误: 第 1 行第 1 列的错误:应启动标记,找不到“<”第 1 行第 1 列的错误:编码错误 下面是页面的呈现,直到第一个错误。有什么想法吗?再次感谢
0赞
taller
11/9/2023
我已经测试了没有任何问题的代码。幻灯片上的形状是什么?请尝试使用 Chrome 或 MS Edge 打开 svg 以验证图像。
0赞
Blue Sky
11/9/2023
它们只是一组形状,我尝试在 Chrome 上打开它们,但仍然显示此错误消息。我还尝试将保存的文件插入回 PPT,它显示,无法显示图像。此页面包含以下错误: 第 1 行第 1 列的错误:应启动标记,未找到“<”第 1 行第 1 列的错误:编码错误 下面是页面的呈现,直到第一个错误。
0赞
Blue Sky
11/9/2023
我已经在我的原始帖子上放了错误截图,谢谢!
0赞
taller
11/9/2023
请尝试:创建一个新的演示文件,从活动幻灯片中删除所有占位符形状,插入一个形状,然后运行代码。如果导出的svg不起作用,请使用记事本打开svg,并将文件内容粘贴到OP中。
评论
ppShapeFormatSVG
? ppShapeFormatSVG