Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1284to1288
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

Dateien per Klick in Spalte öffnen

Dateien per Klick in Spalte öffnen
25.11.2012 08:21:13
Tim
Hallo an alle,
ich habe eine Tabelle mit einer Liste von Dateinamen in Spalte B.
Gibt es eine Möglichkeit in VBA, dass sich beim Klick auf einen dieser Namen automatisch die entsprechende Datei öffnet ?
Mein Problem dabei ist, dass die Dateien sowohl im Excel-, Word-, als auch im PDF-Format vorliegen können. Die Dateiendungen können in Spalte mit angezeigt werden, wenn das hilft.
Ich habe an Worksheet_Change oder Worksheet_SelectionChange gedacht, weiss aber leider nicht, wie ich es damit umsetzen kann.
Kann mir jemand von Euch weiterhelfen ?
VG und vielen Dank im Voraus für jeden Tipp,
Tim

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
per Doppel-Klick in Spalte öffnen
25.11.2012 09:47:57
robert
Hi Tim,
ich mach es so....
vielleicht hilft's ;-)
Gruß
robert
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim datop As String If Target.Column = 5 Then ' in Spalte 5 stehen die Dateinamen datop = Range("B1") & ActiveCell.Text ' in B1 steht der Pfad Workbooks.Open (datop) 'datop = Pfad+Dateiname End If End Sub

AW: per Doppel-Klick in Spalte öffnen
25.11.2012 09:53:18
Tim
Hallo Robert,
vielen Dank für die schnelle Antwort !
Das sieht super aus so. :-)
Noch eine Frage dazu: Wenn alle meine Dateien im gleichen Pfad / Ordner abgelegt sind, gibt es dann noch einen Weg, bei dem der Pfad nicht jedes Mal in einer Spalte erfasst werden muss ?
Meine Idee war, dass ich den Pfad nur im Code definiere und sich dann beim Anklicken immer nur das Ende des Pfades, also der eigentliche Dateiname mit Dateiendung ändert.
VG,
Tim

Anzeige
AW: per Doppel-Klick in Spalte öffnen
25.11.2012 10:02:34
robert
Hi,
wieso "jedesmal erfasst werden muss"
Schreib den Pfad irgendwo hin, zB.in AA1
in meinem Makro änderst Du B1 auf AA1.
Du kannst natürlich den Pfad auch im Makro definieren, zB
Dim myPfad as String
MyPfad = "C:\Dein Ordner\"
datop = MyPfad & ActiveCell.Text
Gruß
robert

AW: per Doppel-Klick in Spalte öffnen
25.11.2012 10:11:50
Tim
Hallo Robert,
vielen Dank nochmal - sorry, da hatte ich zuerst falsch gelesen.
Nun habe ich aber das Problem, dass die neue Datei immer in Excel geöffnet wird. Liegt das vielleicht an dem Teil Workbooks.Open ?
Meine Dateien können Excel-, Word- oder PDF-Dateien sein.
VG,
Tim

Anzeige
AW: per Doppel-Klick in Spalte öffnen
25.11.2012 10:30:19
Tim
Hallo Matthias,
vielen Dank dafür !
Damit klappt es perfekt - super ! :-)
Viele Grüße und noch einen schönen Sonntag,
Tim

MyShell.Run -> hier das konkrete Bsp ...
25.11.2012 10:35:39
Matthias
Hallo
Für dieses Beispiel:
Doppelklick auf die Dateiendung in Spalte(B)
Tabelle1

 AB
1Test.ppt
2Test.xls
3Test.doc


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Der dafür abgeänderte Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 And Target.Row strDateiName = StrPfad & Target.Offset(, -1) & Target
strDateiName = Chr(34) & strDateiName & Chr(34)
MyShell.Run strDateiName
Set MyShell = Nothing
Cancel = True
End If
End Sub
Evtl. sollte noch eine Fehlerroutine rein die greift wenn es die Datei nicht gibt.
Dieses Bsp ist noch ohne Fehlerbehandlung!
Gruß Matthias

Anzeige
AW: MyShell.Run -> hier das konkrete Bsp ...
25.11.2012 10:42:22
Tim
Hallo Matthias,
vielen Dank dafür ! Da hatten wir wohl gerade die gleiche Idee ? :-)
Ich habe meine Frage dazu nochmal extra gepostet, da wir zur gleichen Zeit geschrieben haben.
Lässt sich die farbliche Hervorhebung der nicht vorhandenen Dateinamen hiermit auch irgendwie lösen ?
VG,
Tim

AW: MyShell.Run -> hier das konkrete Bsp ...
25.11.2012 10:48:20
Tim
...Zusammenfassung der beiden Posts: :-)
hier noch eine andere Frage - ich hoffe, Ihr könnt mir auch dabei weiterhelfen:
Ich habe eine Tabelle mit einer Liste von Dateinamen in Spalte B.
Die Dateien können verschiedene Formate sein, also Excel, Word, PDF etc. und befinden sich alle im gleichen Pfad / Ordner.
Gibt es eine Möglichkeit, beim Öffnen meiner Tabelle zu prüfen, welche dieser Dateinamen momentan nicht vorhanden sind und diese entsprechend farblich hervorzuheben ?
Die Idee dabei ist, zu erkennen, ob Dateien eventuell umbenannt (oder ganz gelöscht) wurden, so dass der Name in meiner Liste nicht mehr aktuell ist.
VG und nochmals danke,
Tim

Anzeige
Fehlerbehandlung nach Klick
25.11.2012 11:19:10
Matthias
Hallo
Könnte man so, mit der Fehlerroutine mit prüfen
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 And Target.Row On Error GoTo ErrExist
StrPfad = "C:\DeinOrdner\" 'anpassen!
Set MyShell = CreateObject("WScript.Shell")
strDateiName = StrPfad & Target.Offset(, -1) & Target
strDateiName = Chr(34) & strDateiName & Chr(34)
MyShell.Run strDateiName
Set MyShell = Nothing
Cancel = True
End If
Exit Sub
ErrExist:
MsgBox "Diese Datei ist nicht vorhanden"
Target.Offset(, 1) = "Fehler"
End Sub

Tabelle1

 ABC
1Test.ppt 
2Text.xlsFehler
3Test.doc 
4Test.xls 


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Das heißt beim Klick auf die Zelle wird in die Nachbarzelle der Text "Fehler" zurückgegeben
MsgBox "Diese Datei ist nicht vorhanden" kannst Du natürlich aus dem Code löschen
Gruß Matthias

Anzeige
AW: Fehlerbehandlung nach Klick
25.11.2012 11:29:21
Tim
Hallo Matthias,
vielen Dank dafür !
Ich habe es jetzt mit einer Funktion gelöst, auf die ich per Formel zugreife - damit lassen sich die Formatierungen ganz beliebig definieren.
Function Vorh(Zelle) As Boolean
Dim z
Dim Pfad As String
'image saving location, as defined in Settings
Pfad = Worksheets(1).Range("D1")
Vorh = Dir(Pfad & Zelle)  ""
End Function
Deinen Code werde ich auf jeden Fall für die generelle Fehlerüberprüfung verwenden. :-)
VG und vielen Dank nochmal,
Tim

oder mit einer Schleife ...
25.11.2012 11:41:43
Matthias
Hallo
natürlich wieder für dieses Beispiel:
Option Explicit
Sub Pruefen()
Dim strDateiName As String, StrPfad As String
StrPfad = "C:\DeinOrdner\" 'anpassen!
Dim x&
For x = 1 To 4 'anpassen
strDateiName = StrPfad & Cells(x, 1) & Cells(x, 2)
If Dir(strDateiName)  "" Then
Cells(x, 3) = "Datei vorhanden"
Else
Cells(x, 3) = " # nicht vorhanden"
End If
Next
End Sub
Tabelle1

 ABC
1Test.pptDatei vorhanden
2Text.xls # nicht vorhanden
3Test.docDatei vorhanden
4Test.xlsDatei vorhanden


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: oder mit einer Schleife ...
25.11.2012 11:45:48
Tim
Hallo Matthias,
das ist auch sehr gut - vielen Dank !
Werde beides mal ausprobieren. :-)
VG,
Tim

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige