Classe LinkFormat - les propriétés des objets OLE liés (Word VBA)

La classe LinkFormat représente les caractéristiques de liaison d'un objet ou d'une image OLE.

Pour utiliser une variable de classe LinkFormat, elle doit d'abord être instanciée, par exemple

Dim lft as LinkFormat
Set lft = ActiveDocument.Fields(1).LinkFormat

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe LinkFormat : Field.LinkFormat, InlineShape.LinkFormat et Shape.LinkFormat.

AutoUpdate

True si la liaison indiquée est mis à jour automatiquement l'ouverture du fichier conteneur ou lorsque le fichier source est modifié.

Dim shapeLoop as Shape 
 
For Each shapeLoop In ActiveDocument.Shapes 
 With shapeLoop 
 If .Type = msoLinkedOLEObject Then 
 If .LinkFormat.AutoUpdate = False Then 
 .LinkFormat.Update 
 End If 
 End If 
 End With 
Next s

Annule le lien entre le fichier source et l'objet OLE, l'illustration ou le champ lié spécifiés.

Après utilisation de cette méthode, le résultat du lien n'est pas automatiquement mis à jour si une modification est apportée au fichier source.

Dim shapeLoop As Shape 
 
For Each shapeLoop In ActiveDocument.Shapes 
 With shapeLoop 
 If .Type = msoLinkedOLEObject Then 
 .LinkFormat.Update 
 .LinkFormat.BreakLink 
 End If 
 End With 
Next shapeLoop

Locked

Cette propriété a la valeur True si un objet de type Field, InlineShape ou Shape est verrouillé pour empêcher la mise à jour automatique.

Si vous utilisez cette propriété avec un objet Shape qui est une image liée flottante (une image ajoutée avec la méthode AddPicture de l’objet Shapes ), une erreur se produit.

ActiveDocument.Fields(1).LinkFormat.Locked = True

SavePictureWithDocument

True si l'image spécifiée est enregistrée avec le document.

Cette propriété ne fonctionne qu'avec les formes et les formes fixes qui sont des images liées.

Set myPic = ActiveDocument.InlineShapes(1) 
If myPic.Type = wdInlineShapeLinkedPicture Then 
 myPic.LinkFormat.SavePictureWithDocument = True 
End If

SourceFullName

Cette propriété renvoie ou définit le chemin d'accès et le nom du fichier source pour l'objet OLE lié spécifié, une image ou un champ.

À l'aide de cette propriété équivaut à utiliser successivement les propriétés SourcePath, PathSeparator et SourceName.

With ActiveDocument.Shapes(1) 
 If .Type = msoLinkedOLEObject Then 
 With .LinkFormat 
 .SourceFullName = "c:\my documents\myExcel.xls" 
 .AutoUpdate = True 
 End With 
 End If 
End With

SourceName

Renvoie le nom du fichier source pour l'objet OLE lié spécifié, une image ou un champ.

Cette propriété ne renvoie pas le chemin d'accès du fichier source.

For Each s In ActiveDocument.Shapes 
 If s.Type = msoLinkedOLEObject Then 
 Msgbox s.LinkFormat.SourcePath & "\" _ 
 & s.LinkFormat.SourceName 
 End If 
Next s

SourcePath

Renvoie le chemin d'accès du fichier source pour l'objet OLE lié spécifié, une image ou un champ.

Le chemin d'accès n'inclut pas un caractère de fin (par exemple, « C:\MSOffice »).

For Each s In ActiveDocument.Shapes 
 If s.Type = msoLinkedOLEObject Then 
 Msgbox s.LinkFormat.SourcePath & "\" _ 
 & s.LinkFormat.SourceName 
 End If 
Next s

Type

Renvoie le type de liaison. Ici on trouve valeurs possible pour WdLinkType.

Dim wltType As WdLinkType
wltType = ActiveDocument.Fields(1).LinkFormat.Type

Update

Met à jour le format de liaison spécifié.

ActiveDocument.Fields(1).LinkFormat.Update