title: Update hyperlinks in powerpoint using vba
body: <p>I have to know to what slide is making reference each hyperlink. For that I am looking in ActivePresentation.Slides(sliNum).Hyperlinks(linkNum).SubAddress There appears to what slide is making reference the link. Here I put a result of SubAddress: "380,3,dINK  the company"</p>
  
  <p>Here what I really need is the number that is between comas (in this case would be 3). The problem comes when I put a new Slide for example before the 3rd slide. Now the slide that I want is the 4th one but the SubAddress doesn't change. I try with ActivePresentation.UpdateLinks and also with shape.LinkFormat.Update and shape.LinkFormat.AutoUpdate but nothing works the SubAddress still continues without changing. </p>
  
  <p>I put the peace of code that I put to find the links reference:</p>
  
  <pre><code>   For Each s In ActivePresentation.Slides
  
          For i = 1 To s.Hyperlinks.count
  
            Dim cou As Integer
            Dim linkNumber As String
            le = Len(s.Hyperlinks(i).SubAddress)
            cou = InStr(s.Hyperlinks(i).SubAddress, ",")
            linkNumber = Mid(s.Hyperlinks(i).SubAddress, cou + 1, InStrRev(s.Hyperlinks(i).SubAddress, ",") - (cou + 1))
  </code></pre>
  
  <p>On Resume I need somehow to update the SubAddress or otherwise if someone know another way to know where is reference the hyperlink also will be great. The link types that I am using is msoHyperlinkRange</p>