Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1664to1668
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

Explorer aus Excel Zelle durch Doppelklick öffnen

Explorer aus Excel Zelle durch Doppelklick öffnen
03.01.2019 19:20:31
Stefan

Hallo Zusammen,
ich habe eine Excel Stückliste in der in Spalte "P" Materialnummern stehen.
Die Materialnummern sind Baugruppenordner; PDF Zusammenbau Zeichnungen oder Tif Einzelteil Zeichnungen.
Für den kompletten Ordner, mit seinen Unterordnern und Zeichnungen, habe ich einen Link in Zelle "R1"
Bisher habe ich die Materialnummer Kopiert bin auf Zelle R1 gegangen, so das sich der Explorer mit den Haupt Ordner öffnet, dann die Materialnummer im Suchfeld wieder eingefügt und auf Suchen geklickt.
Das ist aber Zeitaufwendig.
Daher die Frage: Kann man diesen Vorgang durch einen Doppelklick auf die jeweilige
Zelle (Materialnummer) durch ein Makro verkürzen.
leider sind meine VBA Kenntnisse nur gering und die bisherige Suche in Foren hat mich auch nicht weiter gebracht.
Für Euer Hilfe sage ich im voraus schon mal DANKE
Gruß Stefan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Explorer aus Excel Zelle durch Doppelklick öffnen
04.01.2019 09:34:13
Rob
Hi Stefan,
probier es mal damit. Musst eigentlich nur den Pfad "C:\..." ändern.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim fd As FileDialog
Dim r As Range
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Set r = Selection
With fd
.AllowMultiSelect = True
.Show
.InitialFileName = "C:\Users\diolq569\Documents\10_V B A\" & r & ".*"
End With
End Sub

AW: Explorer aus Excel Zelle durch Doppelklick öffnen
04.01.2019 10:10:29
Rob
PS: Setze .Show nach .InitialFileName, ansonsten zeigt er Dir immer die zuerst ausgewählte Datei an.
AW: Explorer aus Excel Zelle durch Doppelklick öffnen
04.01.2019 10:17:57
Rob
Wenn Du mit dem Eventhandler arbeitest, kann eigentlich auch Target anstelle der Variablen r verwenden. Macht den Code etwas schlanker:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = True
.InitialFileName = "C:\Users\diolq569\Documents\10_V B A\" & Target & ".*"
.Show
End With
End Sub
Du kannst das Doppelklick-Event auch nur auf eine bestimmte Spalte (hier Columns(1)) beschränken:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
If Not Intersect(Target, Columns(1)) Is Nothing Then
With fd
.AllowMultiSelect = True
.InitialFileName = "C:\Users\diolq569\Documents\10_V B A\" & Target & ".*"
.Show
End With
End If
End Sub

Anzeige
AW: Explorer aus Excel Zelle durch Doppelklick öffnen
04.01.2019 12:21:02
Rob
PS: Du kannst die ausgewählten Dateien anschl. mit Rechtsklick->Öffnen oder ergänze den Code noch mit einer Shell.Application in Verbindung mit einem Dictionary wie folgt:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim fd As FileDialog
Dim count, i As Integer
Dim shell As Object
Dim dic As New Dictionary
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Set shell = CreateObject("Shell.Application")
If Not Intersect(Target, Columns(1)) Is Nothing Then
With fd
.AllowMultiSelect = True
.InitialFileName = "C:\Users\diolq569\Documents\10_V B A\" & Target & "*"
.Show
count = .SelectedItems.count
'ADD SELECTED ITEMS TO DICTIONARY
For i = 1 To count
dic.Add i, .SelectedItems(i)
Next i
End With
End If
'OPEN ALL SELECTED FILES
For i = 1 To count
shell.Open (dic(i))
Next
End Sub

Anzeige
AW: Explorer aus Excel Zelle durch Doppelklick öffnen
04.01.2019 13:20:28
Rob
Aaalso, ich habe noch bischen mit dem FileDialog rumgespielt und nachfolgende Codezeilen tun es vollkommen. Ein Dictionary ist nicht notwendig, da Du die ausgewählten items mit foreach durchschleifen kannst:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim fd As FileDialog
Dim shell As Object
Dim item As Variant
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Set shell = CreateObject("Shell.Application")
If Not Intersect(Target, Columns(1)) Is Nothing Then
With fd
.AllowMultiSelect = True
.InitialFileName = "C:\Users\diolq569\Documents\10_V B A\" & Target & "*"
End With
End If
If fd.Show = -1 Then
'OPEN ALL SELECTED FILES
For Each item In fd.SelectedItems
shell.Open (item)
Next item
End If
End Sub
Wenn Du die If fd.Show = -1 Abfrage rausnimmst, öffnet er Dir direkt alle Dateien nach einem Dopppelklick.
Anzeige
AW: Explorer aus Excel Zelle durch Doppelklick öffnen
04.01.2019 15:25:18
Stefan
Hallo Rob,
erst mal vielen Dank
hab die VBA Code von dir getestet,
der vorletzte hat nicht funktioniert
Fehler bei "Dim dic As New Dictionary"
aber der Letzte SUPER!!!
ich hab auch die Anderen noch getestet die hätten auch geklappt.
nochmals vielen Dank du hast mir ein Riesen Stück Arbeit und Zeit gespart.
Danke Danke Danke
Gruß Stefan
AW: Explorer aus Excel Zelle durch Doppelklick öffnen
04.01.2019 18:16:36
Rob
Gerne!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige