Ich habe die folgenden Links zu Excel in einem Word-Dokument:
Das Problem besteht darin, dass sich bei Änderungen die Dokumentversion sowohl im referenzierten Excel-Tabellenblatt als auch im Word-Dokument ändert.
Daher muss ich den Linkpfad aktualisieren.
Ich möchte dies mit einem VBA-Makro tun und hier ist, was ich bisher habe:
Sub Replace_Link()
Dim iShp As InlineShape
Dim exWb As Excel.Workbook
For Each iShp In ActiveDocument.InlineShapes
With ActiveDocument
Set exWb = objExcel.Workbooks.Open(.Path & "\" & Replace$(.Name, ".docm", ".xlsm"))
End With
With iShp
If Not .OLEFormat Is Nothing Then
If Split(.OLEFormat.ClassType)(0) = "Excel" Then
.LinkFormat.SourcePath = exWb
End If
End If
End With
Next
End Sub
Ich erhalte die Meldung „Benutzerdefinierter Typ nicht definiert“ für „Dim exWb As Excel.Workbook“. Ich bin mir auch ziemlich sicher, dass ich mehr Code benötige, um die Links vom Typ „Arbeitsblatt“ einzuschließen, die nicht mit dem Befehl „inlineShape“ aktualisiert werden können.
Kann mir jemand dabei helfen? TIA
Antwort1
Haben Sie in Ihrem VBA-Projekt einen Verweis auf die „Microsoft Excel 14.0-Objektbibliothek“ hinzugefügt? (NB: Die 14.0 kann je nach installierter Excel-Version unterschiedlich sein.)
Wählen Sie in Ihrem VBA-Fenster im Menü Extras den Eintrag Verweise aus, um das Dialogfeld Verweise - Projekt aufzurufen. Scrollen Sie dann in der Liste nach unten, suchen Sie nach der Microsoft Excel-Bibliothek und aktivieren Sie das Kontrollkästchen (es sollte dann oben in Ihrer Referenzliste angezeigt werden).