Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Öffenen der Aktuellsten Datei durch Link!

Öffenen der Aktuellsten Datei durch Link!
15.08.2003 13:53:15
Thommy
Hallo Leute, ich hab ein für mich unlösbares Problem.
In mehreren Zellen meiner A-Mappe, habe ich Links eingebracht. Diese sollen beim Anklicken in einem festgelegten Ordner,die Datei Öffnen mit dem Aktuellstem Erstelldatum ist das möglixh?
In dem Ordner befinden dich pdf, xls und doc dateien, die Aktuellste soll geöffnet werden:
BSP. Link in Zelle --> Kick --> Ordner 1 (1.Doc, 2.Doc, A.xls, 123.pdf)--> pdf-Datei ist am neuesten --> so PDFdatei öffnen!
Vielen Dank für eure Hilfe!
Thommy

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Öffenen der Aktuellsten Datei durch Link!
15.08.2003 17:44:35
ChrisL
Hi Thommy
Option Explicit
Private Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Declare Function GetActiveWindow Lib "user32.dll" () As Long

Private Sub pdfÖffnen(dateiname As String)
Dim hwnd As Long
hwnd = GetActiveWindow()
ShellExecute hwnd, "open", dateiname, "", "", 1 '3 statt 1 bedeutet Maximiert-öffnen
End Sub

Sub NeusteDateiOeffnen()
Dim sFile As String, sPath As String, neusteDatei As String, neusteDateiDatum As Date
Dim FSObjekt As Object, FObjekt As Object
On Error Resume Next

Application.ScreenUpdating = False
Set FSObjekt = CreateObject("Scripting.FileSystemObject")

sPath = "C:\test" ' hier den Dateipfad angeben

If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
sFile = Dir(sPath)
Do While sFile <> ""

Set FObjekt = FSObjekt.GetFile(sPath & sFile)

If FObjekt.DateLastModified > neusteDateiDatum And (Right(sFile, 3) = "xls" Or Right(sFile, 3) = "doc" Or Right(sFile, 3) = "pdf") Then
neusteDatei = sFile
neusteDateiDatum = FObjekt.DateLastModified
End If
sFile = Dir()
Loop

If neusteDatei = "" Then Exit Sub

If Right(neusteDatei, 3) = "xls" Then Workbooks.Open FileName:=sPath & neusteDatei

If Right(neusteDatei, 3) = "doc" Then CreateObject("word.application").documents.Open(sPath & neusteDatei).Application.Visible = True

If Right(neusteDatei, 3) = "pdf" Then pdfÖffnen sPath & neusteDatei
End Sub

Gruss
Chris

Anzeige
AW: Öffenen der Aktuellsten Datei durch Link!
15.08.2003 19:57:42
tommy
super, vielen dank, aber wo muss ich was hinschreiben?
das ist sau stark von dir das du dir so ne mühe gibst!
thommy

AW: Öffenen der Aktuellsten Datei durch Link!
15.08.2003 20:24:20
ChrisL
Hi Tommy
Gern geschehen.
Gehört in ein Standardmodul, also dort wo die Makros drin stehen. Alt + F11, Menü Einfügen, Modul und dann den Code.
Der Code kannst du z.B. einer Befehlschaltfläche zuordnen. Ansicht, Symbolleisten, Formular und dann die Schaltfläche einsetzen und die Schaltfläche mit dem Makro verbinden. Wenns unbedingt ein Link sein soll, kann man was improvisieren d.h. Schrift blau hinterlegen und per Klick auf die Zelle (Worksheet_SelectionChange Ereignis) das Makro auslösen. Der Code (bezogen auf Zelle A1) dazu sieht wie folgt aus...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then Call NeusteDateiOeffnen
End Sub

Der gehört dann allerdings in ein Klassenmodul. In der linken Navigation im VBA-Editor solltest du deine Tabellen sehen. Doppelklick auf die entsprechende Tabelle und Code im Codefenster einfügen.
Gruss
Chris

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige