请写一个宏代码,让WPS PPT的每一页,随机填充不同的背景图片,图案来源于电脑文件夹,可以自定义
时间: 2024-03-11 09:46:52 浏览: 133
以下是可以实现你要求的 VBA 宏代码,它可以随机从指定的文件夹中选择一个图片,并将其用作每一页的背景图片。请注意,你需要按照代码中的注释修改一些参数,使其符合你的需求。
```VBA
Sub SetBackgroundsWithRandomImage()
Dim slide As Slide
Dim folderPath As String
Dim fileList() As String
Dim fileCount As Integer
Dim randomIndex As Integer
'请将 folderPath 修改为你想要使用的文件夹的路径
folderPath = "C:\Users\Username\Desktop\Images"
'获取文件夹中的所有文件
fileList = GetFileList(folderPath)
fileCount = UBound(fileList)
'遍历每一页,并设置背景图片
For Each slide In ActivePresentation.Slides
'随机选择一个文件
randomIndex = Int((fileCount + 1) * Rnd())
'将文件用作背景图片
slide.FollowMasterBackground = False
slide.Background.Fill.UserPicture fileList(randomIndex)
Next slide
End Sub
Function GetFileList(folderPath As String) As String()
Dim fileList() As String
Dim fileName As String
Dim i As Integer
'获取文件夹中的所有文件
fileName = Dir(folderPath & "\*.*")
While fileName <> ""
If Not (fileName = "." Or fileName = "..") Then
ReDim Preserve fileList(i)
fileList(i) = folderPath & "\" & fileName
i = i + 1
End If
fileName = Dir()
Wend
GetFileList = fileList
End Function
```
这个代码会遍历每一页,并随机选择一个文件夹中的图片作为背景图片。请确保将 `folderPath` 变量修改为你想要使用的文件夹的路径。另外,你可以通过修改 `slide.Background.Fill` 来使用不同的填充方式,例如使用 `slide.Background.Fill.Patterned` 来使用不同的图案填充。
阅读全文