Hoe vermijden dat Excel het absolute adres van een hyperlink omzet naar een relatief.

Status
Niet open voor verdere reacties.

MDN111

Gebruiker
Lid geworden
13 aug 2007
Berichten
503
Hallo !

Met behulp van onderstaande VBA code voeg ik een hyperlink toe aan de actieve cel:

Code:
ActiveSheet.Hyperlinks.Add Anchor:=ActiveCell, Address:=cAddress
De variabele cAddress bevat de volledige path naar het bestand, bijvoorbeeld "D:\DATA\EXC6770\AMH\2011\2011037.doc"

Wanneer de gebruiker het excelbestand bewaart, zet Excel het asoluut adres van de hyperlink om naar een relatief adres en krijgen we zoiets als "../../../EXC6770/AMH/2011/2011037.doc". Als de gebruiker op de hyperlink klikt gaat het bestand gewoon open. Dat werkt dus allemaal naar behoren.

Op een gegeven moment wil ik aan de hand van een andere macro het bestand waar de hyperlink naar verwijst, als attachment aan een email hangen met de volgende code:

Code:
With olMail   'olMail is een Outlook email object
  .To = cAddress
  .Subject = cSub
  .Body = cBody
  .Attachments.Add oHyp.Address   'oHyp is het hyperlink object.
  .Display
End With

Hier komt het probleem: De property Address van het hyperlink object bevat de relatieve path en dat moet de abolute path zijn!

Vandaar de vraag: Is het mogelijk om te vermijden dat Excel bij het saven het absolute adres omzet naar een relatief adres?

Bij voorbaat dank voor de eventuele reacties.

Grtz,
MDN111.
 
Laatst bewerkt:
Hoi MDN111,
Ik vind het een goede vraag, ik weet niet of dat mogelijk is. Hier wordt ook direct het "relatief" pad van een bestand ingevoerd in een hyperlink.

Wat ik zelf in een soortgelijke situatie zou doen, is het Absolute adres in de property Screentip opslaan, en Hyperlink.screentip in plaats van Hyperlink.address vervolgens aanroepen met de macro (mits het relatieve adres niet volstaat.)

Wellicht kun je daar iets mee?

Groeten,
Mark.
 
Hallo Mark xl !

Dat gedrag bij het saven is toch bizar. Op mijn PC blijft het absoluut adres onaangeroerd bij het saven, terwijl op de PC van mijn collega het wordt omgezet naar een relatief adres. Ik heb daar absoluut geen inzicht in. Ook Googelen heeft me nog niets duidelijks opgeleverd.

De tip over de screentip (leuke woordspeling) is wel een goede workaround. Ik heb m'n macro zodanig aangepast dat bij de creatie van de hyperlink de fullpathfilename opgeslagen wordt in de screentip en als ik die nodig heb haal ik hem op uit de screentip property. Werkt perfect. Alleszins bedankt voor de hint.

Grtz,
MDN111.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan