Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

bestehendes Makro anpassen/erweitern

Forumthread: bestehendes Makro anpassen/erweitern

bestehendes Makro anpassen/erweitern
Selina
Guten Tag allerseits
Mittels dem Makro welches in der beiligenden Datei enthalten ist kann ich ab einem beliebigen Dateipfad (diesen kann ich nach Start des Makros aus einem Dialogfenster auswählen) alle Dokumente inkl. Hyperlink darauf einlesen und auflisten lassen.
Das funktioniert einwandfrei
Hier das File: https://www.herber.de/bbs/user/80434.xlsm
Übrigens:
Dieses Makro hatte ich dank der guten Hilfe hier aus diesem Forum vor einigen Jahren mal zusammengebastelt.
Nun mein Problem / meine Frage:
Auf meinem Rechner hab ich mir ein Laufwerk zu einem Sharepoint-Verzeichnis gemappt.
Wenn ich nun das Makro laufen lasse, so wird im Register "Pfad-Import" auch korrekterweise der ganze Inhalt dieses Pfads aufgelistet (Dokumenten-Namen inkl. Hyperlink) allerdings entspricht der angezeigte Hyperlink – Name nicht dem wirklichen Hyperlinks, sondern dieser entspricht dem Link meines gemappten Laufwerks.
Wie also kann ich das Makro anpassen, dass mir in einer zusätzlichen Spalte des Registers "Pfad_Import" der noch zusätzlich der wirkliche Hyperlink-Name (also die genaue korrekte Hyperlink-Adresse) auf dieses Dokument angezeigt wird ?
Hoffe, meine Frage seie so verständlich
Vielen herzlichen Dank für Eure Tips !
Anzeige
AW: bestehendes Makro anpassen/erweitern
06.06.2012 09:09:08
Armin
Hallo Selina,
ich bin mir nicht ganz sicher ob Du das gleiche meinst, was ich vermute.
Du suchst warscheinlich den UNC-Pfad des Sharepoint-Verzeichnises. Denn die korrekte Adresse wird schon angezeigt nur eben nur von Deinen Rechner aus. Der UNC-Pfad ermittelt den absoluten Pfad zum Server.
Aber Vorsicht wenn Du den Hyperlink so belässt wird der gemountete Pfad trotzdem angezeigt. Wenn Du das ändern möchtest muss man "TextToDisplay:=" definieren. Ich habe es mal so vorgesehen.
https://www.herber.de/bbs/user/80443.xlsm
LG Armin
Anzeige
AW: bestehendes Makro anpassen/erweitern
06.06.2012 09:30:26
Selina
Hallo Armin
So wie ich Dein File auf die Schnelle kurz getestet hab, entspricht Deine Lösung wohl dem was ich brauch :-)
Herzlichen Dank schon mal !
werde mir jetzt noch den Code entsprechend anschauen müssen.
AW: bestehendes Makro anpassen/erweitern
06.06.2012 11:46:17
Selina
Hallo nochmals
Danke herzlich für diese wirklich tolle Anpassung / Lösungsvorschlag.
Einzig hab ich nun noch einen Wunsch ... doch habs bisher leider noch nicht hingekriegt :-(
Im Tabellenblatt "Pfad_Import" wird korrekterweise der Dateiname und der komplette Hyperlink ausgegeben.
Frage:
könnte man auf diesem Registerblatt noch - nebst dem Dateinamen - in einer Spalte das entsprechende Verzeichnis inkl. Unterverzeichnis angeben lassen ?
So weiss man dann auch gleich, aus welchem Ordner / resp. Unterordner diese Datei stammt.
Herzlichen Dank für die Lösungs-Ansätze
Anzeige
AW: bestehendes Makro anpassen/erweitern
06.06.2012 12:06:41
Armin
Hallo Selina,
meinst Du ohne Hyperlink in eine Spalte?
LG Armin
AW: bestehendes Makro anpassen/erweitern
06.06.2012 12:45:23
Selina
Hallo Armin
ja, eigentlich genau so wie es jetzt schon läuft. Allerdings einfach noch eine Spalte vor dem jetztigen Dateinamen einfügen, in welcher dann das Verzeichnis / Unterverzeichnis steht, in welchem diese Datei drinliegt. (also nur Text) Hyperlink drauf braucht es hier in dieser Spalte nicht.
(ich habe den Hyperlink auf die Datei ja bereits schon korrekt von Dir erhalten. An diesem ändern wir nichts. Das ist gut so)
Anzeige
AW: bestehendes Makro anpassen/erweitern
06.06.2012 13:59:00
Armin
Hallo Selina,
verstehe ich leider immer noch nicht ganz. Vor dem Dateinamen in Tabelle "Pfad_Import" da müssen alle Spalten nach recht rücken. Da komme ich heute leider nicht mehr dazu. Kann es bis morgen warten?
LG Armin
AW: bestehendes Makro anpassen/erweitern
06.06.2012 14:08:13
Selina
Hallo Armin
Besten Dank für Deine Bemühungen
ich versuche nochmals zu erklären
also...
in Deinem angepassten Makro stimmt eigentlich alles ! :-)
Einzig... bei dem Registerblatt "Pfad_Import" werden ja in die Spalte A die Dateinamen geschrieben.
Nun brauch ich aber nebst diesem Dateinamen noch das Verzeichnis und den Pfad (nicht als Hyperlink) in welchem diese Datei liegt.
Wo diese Informationen hingeschrieben werden, spielt eigentlich keine Rolle. z.B. in Spalte E oder so !
Es müsste dann z.B. stehen:
Spalte A: "adressen.xls"
Spalte E: "Kundendaten\Dauerkunden\Adressen"
dies sagt mir dann ... die Datei "adressen.xls" liegt im Verzeichnis ""Kundendaten\Dauerkunden\Adressen"
weisst Du was ich nun meine ?
Besten Dank für Deine Bemühungen
LG
Selina
Anzeige
AW: bestehendes Makro anpassen/erweitern
06.06.2012 15:38:20
Rudi
Hallo,
...
Pfad_Import2.Cells(i, 3) = FileLen(f1)
Pfad_Import2.Cells(i, 4) = FileDateTime(f1)
Pfad_Import2.Cells(i, 5) = Pfad_Import1.Cells(Verz, 1)
Größe = Größe + FileLen(f1)
Next
....

Gruß
Rudi
AW: bestehendes Makro anpassen/erweitern
06.06.2012 15:46:40
Selina
Hallo Rudi
Dank Deiner kurzen Erklärung ist PROBLEM GELÖST !
Vielen Dank !
(hätte da eigentlich selber auch draufkommen sollen :-)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro anpassen: Hyperlinks und Verzeichnisse in Excel


Schritt-für-Schritt-Anleitung

  1. Makro öffnen: Lade das Excel-Dokument mit dem vorhandenen Makro. Du kannst das Beispiel-Makro von hier herunterladen.

  2. Code anpassen: Suche im VBA-Editor nach dem Teil des Codes, der die Hyperlinks generiert. Es könnte so aussehen:

    Pfad_Import.Cells(i, 1).Hyperlinks.Add Anchor:=Pfad_Import.Cells(i, 1), Address:="dein_link", TextToDisplay:="dein_text"
  3. UNC-Pfad hinzufügen: Um den tatsächlichen Hyperlink statt des gemappten Laufwerks zu verwenden, musst Du den UNC-Pfad implementieren. Verwende den Code:

    Pfad_Import.Cells(i, 2).Value = "\\Server\Pfad\" & Dateiname
  4. Verzeichnis Spalte einfügen: Füge eine neue Spalte für das Verzeichnis hinzu, bevor Du die Dateinamen einfügst:

    Pfad_Import.Cells(i, 5).Value = "Kundendaten\Dauerkunden\" & Dateiname
  5. Makro ausführen: Speichere den Code und führe das Makro aus, um die Änderungen zu testen.


Häufige Fehler und Lösungen

  • Hyperlinks werden falsch angezeigt: Stelle sicher, dass Du den richtigen UNC-Pfad verwendest. Der gemappte Laufwerksbuchstabe funktioniert nicht für andere Benutzer.

  • Spaltenrücken funktioniert nicht: Wenn Du eine neue Spalte einfügst, achte darauf, dass alle nachfolgenden Spalten nach rechts verschoben werden. Dies kannst Du mit Insert im VBA-Code bewerkstelligen:

    Pfad_Import.Columns(2).Insert Shift:=xlToRight

Alternative Methoden

  • Excel-Funktionen: Anstelle von VBA kannst Du auch Excel-Funktionen wie HYPERLINK() verwenden, um Hyperlinks direkt in den Zellen zu erstellen.

  • Power Query: Eine weitere Möglichkeit, um Daten zu importieren und zu transformieren, ist die Verwendung von Power Query. Damit kannst Du Daten aus SharePoint und anderen Quellen einfach abrufen.


Praktische Beispiele

  1. Hyperlink mit UNC-Pfad:

    Pfad_Import.Cells(i, 1).Hyperlinks.Add Anchor:=Pfad_Import.Cells(i, 1), Address:="\\Server\Share\Datei.xls", TextToDisplay:="Datei"
  2. Verzeichnisname extrahieren:

    Dim Verzeichnis As String
    Verzeichnis = Left(f1, InStrRev(f1, "\") - 1)
    Pfad_Import.Cells(i, 5).Value = Verzeichnis

Tipps für Profis

  • Code kommentieren: Stelle sicher, dass Du Deinen Code gut kommentierst, damit Du und andere später verstehen, was jeder Teil macht.

  • Fehlerbehandlung einbauen: Verwende On Error Resume Next und On Error GoTo 0, um Fehler im Makro zu kontrollieren und zu behandeln.

  • Regelmäßige Backups: Erstelle regelmäßige Backups Deiner Makros, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Wie finde ich den UNC-Pfad? Der UNC-Pfad kann in Windows erkundet werden, indem Du die Eigenschaften des gemappten Laufwerks überprüfst. Du solltest den Pfad in einem Format wie \\Server\Freigabe\ finden.

2. Was mache ich, wenn das Makro nicht funktioniert? Überprüfe den Code auf Syntaxfehler und stelle sicher, dass alle Variablen korrekt deklariert sind. Teste das Makro Schritt für Schritt im VBA-Editor.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige