简体   繁体   English

从 Word VBA 编辑 PowerPoint 演示文稿页脚

[英]Editing PowerPoint presentation footer from Word VBA

I have code in Word that copies a folder, pastes the folder in a similar area, and renames the files to the current week number.我在 Word 中有代码可以复制文件夹,将文件夹粘贴到类似区域,然后将文件重命名为当前周数。

Inside a file within the folder, there is a PowerPoint presentation.在文件夹内的文件中,有一个 PowerPoint 演示文稿。 The presentation has a footer with text and I want update that text within the Word code.演示文稿有一个带文本的页脚,我想在 Word 代码中更新该文本。 I've tried many different things.我尝试了很多不同的东西。

This is my current code:这是我当前的代码:

Dim FSO As Object
Dim FromPath As String
Dim ToPath As String
Message = Format(Date, "ww", vbSunday)

'if message < 10 then it will be KW0 + WEEK NUMBER. IF IT IS BIGGER THAN TEN, IT WILL BE KW + NUMBER.

If Message < 10 Then
    FromPath = "directory here"
    ToPath = "directory here"
End If

If Message >= 10 Then
    FromPath = "directory here"
    ToPath = "directory here"
End If

If Right(FromPath, 1) = "\" Then
    FromPath = Left(FromPath, Len(FromPath) - 1)
End If

If Right(ToPath, 1) = "\" Then
    ToPath = Left(ToPath, Len(ToPath) - 1)
End If

Set FSO = CreateObject("scripting.filesystemobject")

If FSO.FolderExists(FromPath) = False Then
    MsgBox FromPath & " doesn't exist. Please speak to me."
    Exit Sub
End If

FSO.CopyFolder Source:=FromPath, Destination:=ToPath

If Message < 10 Then
    Name "directory here" _
    As "directory here"

    Name "directory here" _
    As "directory here"
End If

If Message >= 10 Then
    Name "directory here" _
    As "directory here"

    Name "directory here" _
    As "directory here"
End If

The above works.以上工作。

Moving on to the opening of the presentation is the following: (Note: the presentation opens but I'm unable to edit the footer within the VBA code.)继续打开演示文稿如下:(注意:演示文稿打开,但我无法在 VBA 代码中编辑页脚。)

Dim opptapp As PowerPoint.Application
Dim oPPTFile As PowerPoint.Presentation
Dim oPPTSlide As PowerPoint.Slide
Set opptapp = CreateObject("PowerPoint.Application")
opptapp.Visible = msoTrue

If Message < 10 Then
    Set oPPTFile = opptapp.Presentations.Open(FileName:="directory here")
End If

If Message >= 10 Then
    Set oPPTFile = opptapp.Presentations.Open(FileName:="directory here")
End If

ActivePresentation.Slides(1).HeadersFooters.Footer.Text = "Volcano Coffee"

MsgBox "The pack for next week has now been generated!"

End Sub

In order to change a setting in a HeaderFooter object it's necessary to make sure the object is "visible", otherwise it doesn't exist.为了更改HeaderFooter对象中的设置,必须确保该对象“可见”,否则它不存在。 So, for example所以,例如

With oPPTFile.Slides(1).HeadersFooters.Footer
   .Visible = True
   .Text = "Volcano Coffee"
End With

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM