【问题标题】:Adding hyperlinks and text to speaker notes section within PowerPoint using VBA使用 VBA 将超链接和文本添加到 PowerPoint 中的演讲者备注部分
【发布时间】:2021-04-25 12:03:28
【问题描述】:

我正在尝试循环浏览 PowerPoint 中的所有幻灯片,并添加链接的相关文本以及注释部分的完整超链接。

我已经成功实现了这一点,但现在我收到“运行时错误'-21247188160 (80048240)'。在我的研究中,人们建议在循环部分的代码中添加一个计时器/DoEvent它可能会绊倒一点。不幸的是,这不起作用。

有什么想法吗?

Sub AddHyperlinksWithNameToNotes()

   Dim vSlide As Slide
   Dim vHyperlink As Hyperlink
   Dim sLinks As String
   Dim vShape As Shape
   
   
    For Each vSlide In ActivePresentation.Slides
        For Each vHyperlink In vSlide.Hyperlinks
            sLinks = sLinks _
                & vHyperlink.TextToDisplay _
                & ": " & vHyperlink.Address _
                & vbCrLf
        Next
        vSlide.NotesPage.Shapes(2).TextFrame.TextRange = ""
        vSlide.NotesPage.Shapes(2).TextFrame.TextRange.Text = sLinks
        sLinks = ""
    Next
End Sub

谢谢!

【问题讨论】:

    标签: vba powerpoint


    【解决方案1】:

    如文档中所述,PP 中的超链接可能有 2 种类型:msoHyperlinkRange 和 msoHyperlinkShape - 请参阅 https://docs.microsoft.com/ru-ru/office/vba/api/powerpoint.hyperlink.type。所以msoHyperlinkShape的超链接没有TextToDisplay。

    试试看vHyperlink.Type:

    Sub AddHyperlinksWithNameToNotes()
    
        Dim vSlide As Slide
        Dim vHyperlink As Hyperlink
        Dim sLinks As String
        Dim vShape As Shape
        
        For Each vSlide In ActivePresentation.Slides
            For Each vHyperlink In vSlide.Hyperlinks
                
                If vHyperlink.Type = msoHyperlinkRange Then ' check type
                    ttd = vHyperlink.TextToDisplay
                Else
                    ttd = "LinkOnShape"
                End If
                
                sLinks = sLinks _
                    & ttd _
                    & ": " & vHyperlink.Address _
                    & vbCrLf
            Next
            vSlide.NotesPage.Shapes(2).TextFrame.TextRange = ""
            vSlide.NotesPage.Shapes(2).TextFrame.TextRange.Text = sLinks
            sLinks = ""
        Next
    End Sub
    

    【讨论】:

      猜你喜欢
      • 2017-12-07
      • 2022-01-22
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      • 2022-11-17
      • 1970-01-01
      相关资源
      最近更新 更多