Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

UNC-Pfad umwandeln

Betrifft: UNC-Pfad umwandeln von: Hans H
Geschrieben am: 30.07.2020 09:57:22

Hallo,


ich hab hier einige tausend Exceldateien die all ihre Daten aus der einen verknüpften "G:\1\1\Kalkulationsdaten.xls" holen.


Leider sind einige dieser tausend Exceldateien versehentlich mit einem UNC-Pfad ("\\SBS\Daten\1\1\Kalkulationsdaten.xls") geöffnet und anschließend auch gespeichert worden. Das heist, wenn ein anderer Client diese Dateien öffnen will, bekommt er eine Fehlermeldung.


Ich habe jetzt versucht die Verknüpfungen mit folgendem Code zu ändern:

'ActiveWorkbook.ChangeLink Name:="\\SBS\Daten\1\1\Kalkulationsdaten.xls", NewName:="G:\1\1\Kalkulationsdaten.xls", Type:=xlExcelLinks


Leider funktioniert der Code nicht, bekomme auch keine Fehlermeldung.


kann mir da jemand helfen?


Gruß Hans

Betrifft: AW: UNC-Pfad umwandeln
von: peterk
Geschrieben am: 30.07.2020 10:10:42

Hallo

Probier einmal rauszufinden, wie Deine Links wirklich heissen

Option Explicit

Sub ShowLinks()
    Dim alinks As Variant
    Dim msgString As String
    Dim i As Long
    
    msgString = ""
    alinks = ActiveWorkbook.LinkSources(xlOLELinks)
    If Not IsEmpty(alinks) Then
        For i = 1 To UBound(alinks)
            msgString = "OleLink " & i & " : " & alinks(i) & vbCrLf
        Next i
        MsgBox msgString
    Else
        MsgBox "Kein OLE Link vorhanden"
    End If

    msgString = ""
    alinks = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(alinks) Then
        For i = 1 To UBound(alinks)
            msgString = "ExcelLink " & i & " : " & alinks(i) & vbCrLf
        Next i
        MsgBox msgString
    Else
        MsgBox "Kein EXCEL Link vorhanden"
    End If
End Sub


Betrifft: AW: UNC-Pfad umwandeln
von: Hans H
Geschrieben am: 30.07.2020 10:55:39

Hallo Peterk

Danke für die schnelle Reaktion.

erste Meldung: Kein OLE Link vorhanden
zweite Meldung: ExcelLink 4 : G:\1\1\Kalkulationsdaten.xls

was vielleicht noch wichtig währe:
die nicht funktionierenden Verknüpfungen sind alle Drop-Down-Listen.

Gruß Hans

Betrifft: AW: UNC-Pfad umwandeln
von: peterk
Geschrieben am: 30.07.2020 11:01:41

Hallo

Kannst Du eine Datei mit "falschem" Link hochladen (die Daten kannst Du alle löschen, es geht nur um die Links bzw. Dropdown Listen)

Betrifft: AW: UNC-Pfad umwandeln
von: Hans H
Geschrieben am: 30.07.2020 11:10:29

Hallo Peterk,

der Befehl: ActiveWorkbook.ChangeLink Name ........ ändert den Pfad der Drop-Down-Listen nicht.
In den Drop-Down-Listen steht noch immer der UNC-Pfad.
Gibt es hier extra einen Befehl?

Gruß Hans

Betrifft: AW: UNC-Pfad umwandeln
von: peterk
Geschrieben am: 30.07.2020 11:22:41

Hallo

Mit einer Beispielmappe wäre es leichter ,,,

Betrifft: AW: UNC-Pfad umwandeln
von: Hans H
Geschrieben am: 30.07.2020 11:32:41

Hallo Peterk,

is mir klar, gehr aber nicht, Datenschutz Firmengeheimnis usw.

Im Prinzip sind in den Exceldateien einige ComboBoxen. In ListFilRange steht der Url-Pfad:

'\\SBS\daten\1\1\Kalkulationsdaten.xls'!LZ

soll aber 'G:\1\1\Kalkulationsdaten.xls'!LZ sein.

das heist ich bräuchte einen Befehl der alle ComboBoxen in einer Datei (egal wieviele)
auf G:\1\1\Kalkulationsdaten.xls.....
ändert.

Gruß Hans

Betrifft: AW: UNC-Pfad umwandeln
von: Hans H
Geschrieben am: 30.07.2020 11:59:15

Hallo Petrak,

wenn du sonst keine Lösung hast, mach ich dir am Montag eine Beispieldatei.

Gruß Hans

Betrifft: AW: UNC-Pfad umwandeln
von: peterk
Geschrieben am: 30.07.2020 12:21:00

Hallo

Versuch mal ob wir damit Deine ComboBoxen finden

Sub CheckControls()
    Dim vbcomp As Object
    Dim ctrl As Object
  
    For Each vbcomp In ActiveWorkbook.VBProject.VBComponents

        If vbcomp.Type = 3 Then   ' Forms
            For Each ctrl In ActiveWorkbook.VBProject.VBComponents(vbcomp.Name).Designer. _
Controls
                If ctrl.rowsource <> "" Then
                    MsgBox vbcomp.Name & " : " & ctrl.Name & " " & ctrl.rowsource
                End If
            Next
        End If
    Next
End Sub





Betrifft: AW: UNC-Pfad umwandeln
von: Hans H
Geschrieben am: 03.08.2020 09:54:15

Hallo Petrak,

dein Code bringt kein ergebniss,
ich sende die eine Beispieldatei.

https://www.herber.de/bbs/user/139432.xls

Gruß Hans

Betrifft: AW: UNC-Pfad umwandeln
von: Hans H
Geschrieben am: 05.08.2020 07:41:36

Bitte um Hilfe

Beiträge aus dem Excel-Forum zum Thema "UNC-Pfad umwandeln"