VBA : rompre les liaisons, sauf les liens hypertextes

VBA : rompre les liaisons, sauf les liens hypertextes - VB/VBA/VBS - Programmation

Marsh Posté le 22-09-2008 à 09:22:18    

Bonjour
 
Petit problème sous VBA. Je travaille sur un document Word avec des liaisons vers un document Excel et des liens hypertextes. Dans le cadre du projet, il faut que je supprime les liaisons vers le document Excel tout en gardant les liens hypertextes.
 
Jusqu'à présent, j'ai fait :
 
ActiveDocument.Fields.Unlink
 
Problème : ça fait aussi sauter les liens hypertextes.
 
Avez vous une idée ?
 
PS : pour corser le tout, certains liens hypertextes proviennent également du fichier Excel, et je dois les garder tout en supprimant les liaisons vers le fichier. L'enfer !
 
 

Reply

Marsh Posté le 22-09-2008 à 09:22:18   

Reply

Marsh Posté le 22-09-2008 à 09:40:22    

Regarde par la => http://www.excel-downloads.com/for [...] aison.html  
Ca devrait repondre a ta question...  
Merci Google :whistle:


Message édité par Moonschild le 22-09-2008 à 09:41:29

---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
Reply

Marsh Posté le 22-09-2008 à 10:32:24    

Merci google, mais ce thread ne parle que d'Excel, et mon problème concerne Word VBA.
 
Quelqu'un a des idées ?
 
 

Reply

Marsh Posté le 22-09-2008 à 11:23:31    

Oups dsl...
Note pour moi meme : Tete dans le paté, continue de la fermer :/
Mais, le "edition/liaison" fonctionne apparement aussi sur word (en tout cas, pour le 2007 oui comme montré ici) ; reste à voir si cela peut fonctionner sur le tien (j'ignore ta version de word)


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
Reply

Marsh Posté le 22-09-2008 à 11:53:07    

Rompre les liaisons à la mano, pas de problèmes. Seulement je ne connais justement pas le code VBA !!
 
L'enregistreur de macro ne donne bizarrement rien...
 
 
Le truc qu'il faudrait faire c'est créer une boucle avec les instructions suivantes :
 
Compter les liens, nombre de liens = i
Pour i = 1  
Si lien = lien hypertexte passer au lien suivant
Sinon, rompre la liaison
next i
 
Malheureusement je ne connais pas les instructions ad hoc !
 
 
Merci pour le livre google. Ah ils sont forts chez Big Brother...
 
 

Reply

Marsh Posté le 22-09-2008 à 11:57:18    

J'ai cherché aussi, sans succes...  Désolé du coup d'avoir répondu pour rien (au moins ca aura UP ton sujet toute la matinée :) )


---------------
Si Le Travail C'est La Santé, Donnez Le Mien A Quelqu'un De Malade
Reply

Marsh Posté le 22-09-2008 à 13:02:57    

Salut,à adapter sans doute au contexte Word  


Option Explicit
 
Sub CasserLiens()
Dim i As Long
Dim Lien As Variant
     
    Lien = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
    If IsEmpty(Lien) Then Exit Sub
    For i = LBound(Lien) To UBound(Lien)
        ActiveWorkbook.BreakLink Name:=Lien(i), Type:=xlLinkTypeExcelLinks
    Next i
End Sub



Message édité par kiki29 le 22-09-2008 à 16:56:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed