Hallo Gemeinde,
brauche mal wieder Eueren Rat.
Ich habe wie im Bild angefügt den '.cfx' - Button mit dem Code (gelbe Notiz) versehen - es funktioniert alles wunderbar, also es öffnet sich der Ordner im Hintergrund. Kann ich irgendwie diesen Code ergänzen, sodass im geöffneten Ordner (siehe Bild) nach einem weiteren Ordner, dessen Name mit der angezeigten Roboterseriennummer übereinstimmt, gesucht und falls vorhanden geöffnet wird - Ist das möglich?)) (kenne mich mit VBA nicht aus)
Ich könnte theoretisch meine Tabelle um eine weitere Spalte erweitern und jeder Roboterseriennummer Ordnerpfad zuweisen - doch dies ist ziemlich aufwendig und würde bei eíner weiteren Datensatzaufnahme wieder eine manuelle Eingabe erfordern.
Hofe kann mir Jemand weiterhelfen...
MfG
Hallo,
z. B. :
Sub Befehl1_Click()
Dim strPfad As String
strPfad = "c:\MeinPfad\" & Me!Roboter
'Shell "explorer.exe " & strPfad
FollowHyperlink strPfad
End Sub
Die eigentliche Frage aber ist, was dann mit dem dargestellten Verzeichnis passieren soll...
Verzeichnis soll offen bleiben...
wenn ich den Code ausprobiere, dann bekomme ich einen Laufzeitfehler 53 angezeigt: Datei nicht gefunden - sucht nach Dateien obwohl in dem Hauptordner vieler weitere Unterordner drin sind, die noch leer sind... muss ich noch eine Variable für Verzeichnis festlegen und sagen, nach was es suchen muss, also in dem Fall --> Ordner. Wäre das so richtig:
Dim strPfad As String
Dim strVerzeichnis As String
strPfad = "PFAD" & Me!RoboterSerienNr
strVerzeichnis = Dir(strPfad, vbDirectory)
?
Spielt es eine Rolle, dass der Ordner auf einem Netzlaufwerk ablegt ist?
oder liegt es an der Bezeichnung der Ordner?)
Gruß
Hi,
du solltest schon Code zeigen, der annähernd echte Pfade enthält, sonst kann man
ja nicht beurteilen wo der Fehler steckt - bspw. an der Tastatur oder im Netzwerk. ;-)
Wo der Ordner liegt ist egal, wenn du den Zugriffspfad nur korrekt angibst.
FollowHyperlink erwartet tatsächlich eine Datei am Ende des Pfades, da war dein
Versuch, mit ShellExecute den Expolorer zu Öffnen schon geeigneter.
Wenn du vorher prüfen willst, ob der Unterordner existiert, ist die Dir-Funktion die richtige Wahl.
Hallo,
Zitat
FollowHyperlink erwartet tatsächlich eine Datei am Ende des Pfades
sehe ich nicht so...
Zitat
...mit ShellExecute..
?? es war die Rede von "Shell"
wobei das jededoch die vermutlich beste Lösung ist
strPfad = "PFAD" & ....
"Pfad" ist ja wohl kein Pfad.... höchstens ein Verzeichnis
Zitat
Verzeichnis soll offen bleiben...
Das ist keine Antwort auf meine eigentliche Frage... ::)
Hi,
Zitatsehe ich nicht so...
da hast du recht, ich habe mich geirrt.
Zitat"Pfad" ist ja wohl kein Pfad.... höchstens ein Verzeichnis
Man spricht auch von Verzeichnispfaden...
Der Pfad ist der Weg zum Ziel, an dem sich eine Datei befinden kann, oder auch nicht.
Vielleicht könnte dies die gesuchte Lösung sein:
Dim strPfad As String
Dim strVerzeichnis As String
strPfad = "X:\ordner1\ordner2\"
strVerzeichnis = strPfad & Me!RoboterSerienNr
If Dir(strVerzeichnis, vbDirectory) <> "" Then
FollowHyperlink strVerzeichnis
Else
FollowHyperlink strPfad
End If
vorausgesetzt, es wird sichergestellt, dass strPfad stets vorhanden ist.
also der Code:
Dim strPfad As String
Dim strVerzeichnis As String
strPfad = "X:\ordner1\ordner2\"
strVerzeichnis = strPfad & Me!RoboterSerienNr
If Dir(strVerzeichnis, vbDirectory) <> "" Then
FollowHyperlink strVerzeichnis
Else
FollowHyperlink strPfad
End If
mach das Gleiche wie der den ich am Anfang benutzt habe - öffnet der Hauptorder, sucht aber nicht nach dem zugehörigen Ordner der geöffneten RoboterSerienNr...
ich habs... vielen Dank Euch für die Tipps,
habe am Anfang zu dem Code noch die Zeile ergänzt und es funktioniert...
Me!cmbRoboter = Me!RoboterSerienNr
MfG
mustermann