Wunderschönen guten Tag!
Lieber Leser:
Ich versuche aktuell in einem Word-Dokument mittels VBA automatisiert Hyperlinks, welche auf andere Dokumente Zeigen, zu erzeugen.
*VBA-Code zu unterst*
Zentral in einem Ordner sind alle Dokumente abgelegt, welche mittels Link geöffnet werden sollen.
Ich habe in meinem Word-Dokument eine Tabelle mit zwei Spalten. Die 1.te Spalte enthält der Name des Dokuments und die 2-te Spalte die Datei-Endung. Zmb. ".pdf" . Mittels Stringoperation führe ich die beiden "Strings" zusammen. Und dann erzeuge ich anhand dieses Strings einen Hyperlink.
Leider ist es nun so, dass dieser String Zeichen enthält, welche ich nicht verstehe, woher sie kommen. Und deshalb funktioniert dann auch der Link nicht.
Folgender nicht funktionierender Link wird erzeugt "Dokument1%0d%07.pdf%0d%07"
Ich bräuchte aber nur "Dokument1.pdf"
Ebenfalls wird beim Schreiben des Links in die Tabelle eine ungewollte leere Zeile in die Zelle eingefügt.
Woher kommen diese roten Zeichen? Wie entferne ich diese?
Wie entferne ich die erzeugte Leerzeile in der Word-Tabelle?
-> Besten Dank für die Rückmeldungen.
Word 2019, Windows 10
Option Explicit
Sub InsertTextInCell()
Dim anzZeilen As Integer, i As Integer
Dim Text1 As String
Dim Text2 As String
Dim Text3 As String
Dim myrange As Object
Dim myCell_1 As Object
Dim myCell_2 As Object
anzZeilen = ActiveDocument.Tables(1).Rows.Count 'Zählt die Zeilen der Tabelle 2
If ActiveDocument.Tables.Count >= 1 Then
For i = 2 To anzZeilen ' Schleife durch alle Zeilen, starte bei zweiter Zeile
Set myCell_1 = ActiveDocument.Tables(1).Cell(Row:=i, Column:=1) 'Tabelle_2, Zeile i, 1 Spalte
Text1 = myCell_1 'Inhalt der Zelle in String kopieren
Set myCell_2 = ActiveDocument.Tables(1).Cell(Row:=i, Column:=2) 'Tabelle_2, Zeile i, 2 Spalte
Text2 = myCell_2 'Inhalt der Zelle in String kopieren
Text3 = Text1 & Text2 'Erzeuge zusammenhängender String
Set myCell_1 = ActiveDocument.Tables(1).Cell(Row:=i, Column:=1) 'Tabelle_2, Zeile i, 1 Spalte
'myCell_1 = Text3 ' kopiere erzeugten String in Zelle.
Set myrange = ActiveDocument.Tables(1).Cell(Row:=i, Column:=1).Range
'Erzeugt ein range-Objekt auf die Zelle, in der der Link stehen soll
ChangeFileOpenDirectory "C:\Users\debsil\Desktop\"
ActiveDocument.Hyperlinks.Add Anchor:=myrange, Address:= _
Text3, SubAddress:="", ScreenTip:="Click to open document", TextToDisplay:=Text1
Next i
End If
End Sub
|