• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Hyperlinks samengesteld door formules in excel werken niet in pdf (VBA?)

Status
Niet open voor verdere reacties.

HaroldR

Gebruiker
Lid geworden
12 aug 2016
Berichten
7
Hallo,

Op mijn werk zijn er computers in de werkplaats gestationeerd. Op deze computers komen tekeningen te staan.
Deze tekeningen zijn in pdf formaat, deze tekeningen hebben een tekeningsnummer en revisie letter.
Bijvoorbeeld: R96-020-400b

De monteurs die de machines bouwen zien op de computer een pdf met hierop een aantal benamingen en tekeningsnummers
Aan dit tekeningsnummer zit een hyperlinks verbonden die gelijk de juiste tekening aanbiedt.

Nu loop ik tegen de volgende probleem aan:
Als de tekening wijzig en dus een revisie krijgt, herkent de hyperlink de tekening niet meer.
Als het pad veranderd herkent de hyperlink de tekening niet meer.

Ik heb met Excel een formule gemaakt die het pad,bestandstype,tekeningsnummer en revisie samensteld.
Bijvoorbeeld:\\dc1\data\Bedrburo\tekeningen\Machinefotos en tekeningen werkplaats\Tekeningen map\R96-020-400b.pdf

Om hier een Hyperlink van te maken die het in pdf doet, moet ik elk pad dubbel klikken en actief maken. Dit is erg omslachtig(het gaat namelijk om 1500 tekeningen of meer)

Kan dit op een andere manier?

Zie bijgevoegde bestand: Voorbeeld 1
In tabblad ''situatie'' staat de informatie om de hyperlink samen te stellen
in het tabblad ''hoe het moet zijn'' is de opmaak gezet hoe de monteurs de pdf krijgen

Alvast bedankt voor jullie input!

Groet,HaroldR
 

Bijlagen

Je kunt beter voor iedere tekening een vaste lokatie aanhouden.
Een hyperlink daarnaartoe staat in de PDF. bijv. G:\OF\tekening12.pdf

Als tekening 12 wordt gereviseerd krijgt die de naam G:\OF\tekening12_001.pdf
Kopieer nu de gereviseerde tekening naar G:\OF\tekening12.pdf.
Dan is het bestand G:\OF\tekening12.pdf een kopie van de laatste revisie (G:\OF\tekening12_001.pdf)
Geen enkele hyperlink hoeft dan vervangen te worden.

Kortom: niet de hyperlink wordt gewijzigd, maar het bestand waarnaar de hyperlink verwijst.
 
Laatst bewerkt:
Moet je in het tabblad "Hoe het moet zijn" ook niet de revisie vermelden?
 
@snb

>Je kunt beter voor iedere tekening een vaste lokatie aanhouden.
Een hyperlink daarnaartoe staat in de PDF. bijv. G:\OF\tekening12.pdf

Op deze manier moet ik al mijn tekeningen die een revisie krijgen, hernoemen naar de oude.
Deze manier hanteren we nu, maar is nogal tijdrovend. vandaar dat ik het nu op de onderstaande manier aan het proberen ben

Het gaat nu om een slordige 1500 tekeningen maar het worden er steeds meer. Daarnaast als je de map indeling verander werken de hyperlinks niet meer.
Als je via excel deze hyperlink/pad samenstel. is het pad éénvoudig aan te passen en werken je hyperlinks weer.

Alleen moet je op deze manier elk pad dubbel aan klikken en actief maken. Om er een hyperlink van te maken

En dat zou ik graag willen versnellen door er eenmalig een macro overheen te halen, maar dat lukt niet me niet
Of zijn er nog andere manieren?
 
Ik krijg uit je antwoord niet de indruk dat je weet je het over hebt of dat je hebt begrepen waar ik het over had.

Vertel dan eens welke macro je nu gebruikt.

Bij mij zou het zijn:

1 directory met tekeningen, waarvan hyperlinks aanwezig in het PDF-document 'G:\tekeningen' met 'G:\tekeningen\tekening0001.pdf' t/m 'G:\tekeningen\tekening9999.pdf'

1 directory met tekeningen in diverse versies: 'G:\tek_versies' met 'G:\tek_versies\tekening0001_001.pdf' t/m 'G:\tek_versies\tekening9999_999.pdf'

Ergo: per tekening kunnen er 999 opeenvolgende versies opgeslagen worden.

Dit is dan de enige code die hoeft te laten lopen.
Code:
sub M_snb()
  sn=split(createobject("wscript.shell").exec("cmd /c dir G:\tek_versies\*.pdf /b /a-d").stdout.readall,vbcrlf)

  for j=1 to 9999
    sp=filter(sn,"tekening" & format(j,"0000_"))
    if ubound(sp)>-1 then copyfile G:\tek_versies\tekening" & format(j,"0000_") & format(ubound(sp)+1,"0000")) & ".pdf","G:\tekeningen\tekening" & format(j,"0000") & ".pdf'
  next
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan