Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1328to1332
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateipfad bestimmen und als Hyperlik ablegen

Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 13:19:40
junior
Hallo zusammen,
folgendes würde ich gerne mit Hilfe von VBA lösen.
Ich würde gerne auf einen Button drücken und es sollte sich der explorer öffnen, wo ich auf meine Dateien auf meinen PC zugreifen kann.
Dann würde ich gerne eine Datei aussuchen und den Dateipfad zur dieser Datei in eine Zelle schreiben.
Weiterhin sollte die Ausgewählte Datei (in einem weiteren Schritt, siehe Hintergrund unten)
an einen anderen Ort kopiert werden und dieser link in eine andere Zelle mit Hyperlik eingetragen werden.
Der Hintergrund ist folgender:
Ich habe ein Formular wo ich in einer Spalte mehrere Sachen einfüge. Eine Zelle der Spalte ist z.B. oben beschrieben.
Nachdem ich alles ausgefüllt habe drücke ich ein Button der die eingetragenen Daten in eine andere Liste sortiert transportiert.
Hoffe ich habe mich nicht zu kompliziert ausgedrückt.
Gruß

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 13:35:44
Rudi
Hallo,
Sub Junior()
Dim strFull As String, strDatei As String, strPfad As String
strPfad = "c:\test\"  'anpassen
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Datei wählen"
If .Show = -1 Then
strFull = .SelectedItems(1)
End If
End With
If strFull  "" Then
Range("A1") = strFull
strDatei = Right(strFull, Len(strFull) - InStrRev(strFull, "\"))
FileCopy strFull, strPfad & strDatei
ActiveSheet.Hyperlinks.Add Range("A2"), strPfad & strDatei
End If
End Sub

Gruß
Rudi

AW: Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 14:24:11
junior
Super, Danke!
Hätte da noch eins drauf zu setzen....
Kenne noch von früher einen DOS-Befehl, der mir durch den Befehl in der DOS Ebene "dir GRÖSSERZEICHEN Verzeichnis.txt" alle Informationen
des Ordners in dem ich mich befinde in die Verzeichnis.txt ablegt.
Dies würde ich gerne durch einen Button klick realisieren.
Also klick auf einen Button, den Ordner auswählen und die Verzeichnis.txt erzeugen.
Wie könnte ich dies realisieren?
Gruß

Anzeige
AW: Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 15:04:09
Rudi
Hallo,
Sub aaaa()
Dim s As String, x
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Ordner wählen"
If .Show = -1 Then
s = .SelectedItems(1)
ChDrive Left(s, 1)
ChDir s
x = Shell("cmd.exe")
Application.Wait Now + TimeSerial(0, 0, 1)
Application.SendKeys "dir >verzeichnis.txt"
Application.SendKeys "{return}"
Application.SendKeys "exit"
Application.SendKeys "{return}"
End If
End With
End Sub

Gruß
Rudi

AW: Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 16:15:39
junior
Hallo,
bis zur folgender Zeile

x = Shell("cmd.exe")

scheint es zu funktionieren.
Das DOS Fenster mit dem richtigen Pfad wird geöffnet.
Es wird jedoch nicht der Text

Application.SendKeys "dir > verzeichnis.txt"

geschrieben und
      Application.SendKeys "{return}"
Application.SendKeys "exit"
Application.SendKeys "{return}"

ausgeführt.
Eine Idee woran dies liegen könnte?
Das wäre echt schade wenn das nicht funktioniert.
Gruß

Anzeige
AW: Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 16:37:19
Rudi
Hallo,
setz mal die Wartezeit höher.
Application.Wait Now + TimeSerial(0, 0, 2)
Gruß
Rudi

AW: Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 18:12:08
junior
Hallo,
habe die Zeit sogar auf 10 gesetzt aber es passiert nichts.
Es wird definitiv nichts rein geschrieben und auch kein return gedrückt, sonst würde ich es im Textfeld sehen.
Es sieht nur so aus, dass das DOS Fenster geöffnet wird.
Noch eine Idee?

AW: Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 21:17:53
Rudi
Hallo,
keine Idee.
Unter 2007 läuft's.
Gruß
Rudi

AW: Dateipfad bestimmen und als Hyperlik ablegen
19.09.2013 22:54:31
Jürgen
Hallo junior,
hier eine Variante, bei der man sich nicht um das Schließen des Fensters kümmern muss:
Sub Verzeichnisinhalt()
Dim Verzeichnis As String
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Ordner wählen"
If .Show = -1 Then
Verzeichnis = .SelectedItems(1)
Shell "cmd.exe /cdir """ & Verzeichnis & """ > """ & Verzeichnis & "\verzeichnis.txt"""
End If
End With
End Sub
Gruß, Jürgen
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige