Registriert seit: 07.03.2020
Version(en): 365
12.03.2020, 18:02
(Dieser Beitrag wurde zuletzt bearbeitet: 13.03.2020, 18:16 von Kuwer.
Bearbeitungsgrund: Betreff berichtigt
)
Hallo
Ich will einen Ordner im ":P Laufwerk" Öffnen und das soll so ablaufen
ich habe in Spalte "A = 8500024." in Spalte "C = München" in Spalte "E = Röntgenstr.6"
So sind die Namen von Ordner im "Laufwerk :P" "A"_"C","E" ("8500024._München,
Röntgenstr.6")
ich will wenn ich auf eine Zelle in Spalte "A" Doppelklick mache das er mir im "Laufwerk :P" Ordner nur nach den Namen Von Spalte "A" Sucht nicht den ganzen namen heiß 8500024. und den natürlich öffnet.
Danke
ich habe mit diesem Code Probiert
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Es muß ein Verweis auf das "Windows Script Host Objekt Model" gesetzt sein
'Der Pfad muß den Computernamen oder die IP des Computers mit der Freigabe enthalten
Const PFAD As String = "P:\Daten\B053071_ERIK HÖCHST\Baustellen\"
Dim StrOrdner As String
StrOrdner = Dir(PFAD, vbDirectory)
Do
If StrOrdner = "" Then
MsgBox "Verzeichnis nicht gefunden", vbCritical + vbOKOnly,
GoTo Raushier 'Verzeichnis komplett durchsucht>>raushier
End If
If InStr(1, StrOrdner, Target.EntireRow.Columns("A"), vbTextCompare) > 0 Then 'Nummer im Pfad?
Exit Do ' Ja>>Schleife abbrechen
End If 'Nein >> nächste Verzeichnis im Ordner
StrOrdner = Dir
Loop
StrOrdner = PFAD & StrOrdner
Shell "Explorer.exe " & StrOrdner, vbNormalFocus
Raushier:
End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
12.03.2020, 18:55
(Dieser Beitrag wurde zuletzt bearbeitet: 12.03.2020, 18:56 von schauan.)
Hallo,
das hat sicher nicht funktioniert. Eine variable Angabe ist schon mal keine Constante …
Const PFAD As String = "P:\Daten\B053071_ERIK HÖCHST\Baustellen"
Dann also
Dim PFAD As String
PFAD = "P:\"& Cells(1,1) & Cells(1,3) & Cells(1,5)
wobei die Zeile sicher durch Target.Row zu ersetzen ist.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 07.03.2020
Version(en): 365
du hast mich falch verstanden
"P:\Daten\B053071_ERIK HÖCHST\Baustellen\" das ist der Ordner wo sich Baustellen befinden.
und in spalte "A" sin die nummern. und wenn ich auf eine spalte Doppelklick machen dann soll er in den order nach den Nummer suchen und den Ordner aufmachen
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
vielleicht so:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Der Pfad muß den Computernamen oder die IP des Computers mit der Freigabe enthalten
Const PFAD As String = "P:\Daten\B053071_ERIK HÖCHST\Baustellen\"
Dim StrOrdner As String
If Target.Column = 1 Then
StrOrdner = Dir(PFAD & Target.Value & "*", vbDirectory)
If StrOrdner = "" Then
MsgBox "Verzeichnis nicht gefunden", vbCritical + vbOKOnly
Else
Shell "Explorer.exe " & PFAD & StrOrdner, vbNormalFocus
End If
End If
End Sub
Gruß Uwe
Registriert seit: 07.03.2020
Version(en): 365
13.03.2020, 10:00
(Dieser Beitrag wurde zuletzt bearbeitet: 13.03.2020, 10:09 von ludakuhja.)
Danke hat geklappt
ich hab jetzt ne frage kann ich das erweitern? weil jetzt sucht er beim Doppelklick in Spalte A,
kann ich jetzt sagen suche in Spalte B anderen Nummer mit anderen PFAD?
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Der Pfad muß den Computernamen oder die IP des Computers mit der Freigabe enthalten
Dim PFAD As String
Dim PFAD2 As String
Dim StrOrdner As String
PFAD = "P:\Daten\B053071_ERIK HÖCHST\Baustellen\"
PFAD2 = "P:\Daten\Leistungsverzeichnisse-Mail\GAEB + Pläne\"
If Target.Column = 1 Then
StrOrdner = Dir(PFAD & Target.Value & "*", vbDirectory)
Shell "Explorer.exe " & PFAD & StrOrdner, vbNormalFocus
Else
If Target.Column = 2 Then
StrOrdner = Dir(PFAD2 & Target.Value & "*", vbDirectory)
Shell "Explorer.exe " & PFAD2 & StrOrdner, vbNormalFocus
End If
End If
End Sub
so habe ich es gelöst und Funktioniert
Registriert seit: 07.03.2020
Version(en): 365
ich habe jetzt denn nächsten Problem:
es sind 5 Sheets und der Code Oben Funktioniert bei 3 aber bei 2 nicht.. hab alles überprüft PFADs sind richtig aber irgendwie öffnet er ihm Explorer Dokumente???
Registriert seit: 07.03.2020
Version(en): 365
13.03.2020, 13:53
(Dieser Beitrag wurde zuletzt bearbeitet: 13.03.2020, 13:53 von ludakuhja.)
ich weiß woran es liegt das er nicht alle Ordner öffnet aber ich kann es nicht lösen
wenn ein Ordner so heißt "830054_München Röntgenstr.6" dann Öffnet er denn aber wenn er so heißt
"830054_München, Röntgenstr.6" mit kommer dann nicht... bitte helfenCode:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Der Pfad muß den Computernamen oder die IP des Computers mit der Freigabe enthalten
Dim PFAD As String
Dim PFAD2 As String
Dim StrOrdner As String
PFAD = "P:\Daten\B053071_ERIK HÖCHST\Baustellen\"
PFAD2 = "P:\Daten\Leistungsverzeichnisse-Mail\GAEB + Pläne\"
If Target.Column = 1 Then
StrOrdner = Dir(PFAD & Target.Value & "*", vbDirectory)
Shell "Explorer.exe " & PFAD & StrOrdner, vbNormalFocus
Else
If Target.Column = 2 Then
StrOrdner = Dir(PFAD2 & Target.Value & "*", vbDirectory)
Shell "Explorer.exe " & PFAD2 & StrOrdner, vbNormalFocus
End If
End If
End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Shell "Explorer.exe """ & Pfad2 & strOrdner & "", vbNormalFocus
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo,
so sollte es klappen:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Der Pfad muß den Computernamen oder die IP des Computers mit der Freigabe enthalten
Dim PFAD As String
Dim PFAD2 As String
Dim StrOrdner As String
PFAD = "P:\Daten\B053071_ERIK HÖCHST\Baustellen\"
PFAD2 = "P:\Daten\Leistungsverzeichnisse-Mail\GAEB + Pläne\"
If Target.Column = 1 Then
StrOrdner = Dir(PFAD & Target.Value & "*", vbDirectory)
Shell "Explorer.exe " & Chr(34) & PFAD & StrOrdner & Chr(34), vbNormalFocus
ElseIf Target.Column = 2 Then
StrOrdner = Dir(PFAD2 & Target.Value & "*", vbDirectory)
Shell "Explorer.exe " & Chr(34) & PFAD2 & StrOrdner & Chr(34), vbNormalFocus
End If
End Sub
Gruß Uwe