Clase LinkFormat (Word VBA)

La clase LinkFormat representa las características de vinculación de un objeto OLE o una imagen.

Set

Para usar una variable de clase LinkFormat, primero debe ser instanciado, por ejemplo

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

Los siguientes procedimientos se pueden usar para establecer variables de clase LinkFormat : Field.LinkFormat, InlineShape.LinkFormat y Shape.LinkFormat

AutoUpdate

True si el vínculo especificado se actualiza automáticamente cuando se abre el archivo contenedor o cuando se cambia el archivo de origen.

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

BreakLink

Rompe el vínculo entre el archivo de origen y el objeto OLE, imagen o campo especificados.

Después de utilizar este método, el resultado del vínculo no se actualizará automáticamente si se cambia el archivo de origen.

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

True si está bloqueado un objeto Field, InlineShape o Shape para evitar actualizaciones automáticas.

Si utiliza esta propiedad con un objeto Shape que es una imagen vinculada flotante (una imagen agregada con el método AddPicture del objeto Shapes), se produce un error.

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

Parent

Devuelve un objeto Object que representa el objeto primario del objeto LinkFormat especificado.

Dim objParent As Object
Set objParent = ActiveDocument.Fields(1).LinkFormat.Parent

SavePictureWithDocument

True si la imagen especificada se guarda con el documento.

Esta propiedad sólo funciona con formas y formas entre líneas que sean imágenes vinculadas.

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

SourceFullName

Devuelve o establece la ruta de acceso y el nombre del archivo de origen para el objeto OLE vinculado especificado, imagen o campo.

Uso de esta propiedad es equivalente a usar en secuencia las propiedades SourcePath, PathSeparator y 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

Devuelve el nombre del archivo de origen para el objeto OLE vinculado especificado, imagen o campo.

Esta propiedad no devuelve la ruta de acceso del archivo de origen.

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

SourcePath

Devuelve la ruta de acceso del archivo de origen para el objeto OLE vinculado especificado, imagen o campo.

La ruta de acceso no incluye un carácter final (por ejemplo, "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

Devuelve el tipo de vínculo.

Valores posibles son wdLinkTypeChart - Gráfico de Microsoft Excel, wdLinkTypeDDE - Intercambio dinámico de datos (DDE), wdLinkTypeDDEAuto - DDE automático, wdLinkTypeImport - Archivo importado, wdLinkTypeInclude - Archivo incluido, wdLinkTypeOLE - Objeto OLE, wdLinkTypePicture - Imagen, wdLinkTypeReference - Biblioteca de referencia, wdLinkTypeText - Texto.
Dim wltType As WdLinkType
wltType = ActiveDocument.Fields(1).LinkFormat.Type

Update

Actualiza el formato de vínculo especificado.

ActiveDocument.Fields(1).LinkFormat.Update