Registriert seit: 09.05.2015
Version(en): 2013, Office 365
27.10.2018, 12:55
(Dieser Beitrag wurde zuletzt bearbeitet: 27.10.2018, 13:34 von WillWissen.
Bearbeitungsgrund: Link wegen Werbung entfernt
)
Hallo zusammen,
das Wochenende naht und wieder gibt es einige Excel-Problemchen zu lösen
Ich habe eine Tabelle in der ich Arbeitsmappen die ich für den tägliche Nutzung aufgelistet habe.
Bei Doppelklick auf die Zelle öffnet sich die jeweilige Arbeitsmappe - so weit so gut.
Hier gibt es ein super Beispiel - Datei-Schnellstarter - von
Link wegen Werbung entferntWas ich jetzt benötige ist die Möglichkeit dass per vba beim öffnen der Mappe von allen Einträgen das Erstelldatum, das letzte Speicherdatum und die Dateigröße in die benachbarten Zellen eingetragen werden.
Ist so etwas per vba machbar und reicht dazu nur der Dateiname in einer Zelle oder benötigt man den kompletten Pfad mit Dateiname.
Vielleicht könnt Ihr mir da mal wieder weiterhelfen?
00202
Nicht registrierter Gast
Hallo Erich, :19:
hier mal das
Prinzip (eine
Möglichkeit): :21:
Alle Dateien eines Ordners - Optional mit Unterordner...Du musst das
natürlich auf Deine
Gegebenheiten anpassen.
Folgende(r) 2 Nutzer sagen Danke an Gast für diesen Beitrag:2 Nutzer sagen Danke an Gast für diesen Beitrag 28
• sharky51, Rabe
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hallo Ralf,
in einem beliebigen Ordner funktioniert es, im Ordner C:\Temp\ macht es bei mir nix, obwohl da Dateien drin liegen.
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• sharky51
00202
Nicht registrierter Gast
Hallo Ralf, :19:
schon mit
F8 im
Einzelschritt durch den Code gegangen? :21:
Da müsstest Du eigentlich sehen, wo das Problem ist.
Registriert seit: 09.05.2015
Version(en): 2013, Office 365
Hallo ihr Beiden,
erstmal vielen Dank für Eure Rückmeldung. Und sorry für das einfügen von diesem Link!
Vielleicht habe ich mein Problem nicht genau genug beschrieben.
Ich möchte nicht die Daten von einem Ordner/Unterordner komplett auslesen, sondern nur die Daten von bereits aufgelisteten Dateien in einem Arbeitsblatt.
Die aufgelisteten Dateien können auch in unterschiedlichen Ordnern gespeichert sein.
Gibt es da eine Möglichkeit?
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi Ralf,
ok, gefunden. Peinlich!
Gruß Ralf
00202
Nicht registrierter Gast
Hallo Erich, :19:
doch, Du hast das ausführlich genug beschrieben. Du sollst das ja auch auf deine Bedürfnisse anpassen. Du musst in der "FollowHyperlink Methode" die entsprechenden Befehle einbauen. Bekommst Du das nicht hin?
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• sharky51
Registriert seit: 09.05.2015
Version(en): 2013, Office 365
Hallo Case (Ralf),
leider sind meine Kenntnisse in vba-Programmierung nicht sonderlich berauschend.
D.H. ich weiß nicht wo ich da anfangen soll.
00202
Nicht registrierter Gast
Hallo Erich, :19:
habe das mal so konzipiert, dass es per "
Rechtsklick" funktioniert. Kann man aber auch in deinen Code für den Doppelklick legen. :21:
Code gehört in den Codebereich des Tabellenblattes welches die Dateinamen enthält:
Code:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Call Main(Target.Text, Target.Address): Cancel = True
End Sub
Und folgender Code in ein
Modul:
Code:
Option Explicit
Sub Main(strLink As String, strAddress As String)
Dim objFile As Object
Dim objFSO As Object
Dim lngCalc As Long
On Error GoTo Fin
With Application
.ScreenUpdating = False
.EnableEvents = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
.DisplayAlerts = False
End With
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.getfile(strLink)
Range(strAddress).Offset(, 1).Value = objFile.DateLastModified
Range(strAddress).Offset(, 2).Value = objFile.DateCreated
Range(strAddress).Offset(, 3).Value = objFile.DateLastAccessed
Range(strAddress).Offset(, 4).Value = objFile.Size
Fin:
Set objFile = Nothing
Set objFSO = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = lngCalc
.DisplayAlerts = True
End With
If Err.Number <> 0 Then MsgBox "Fehler: " & _
Err.Number & " " & Err.Description
End Sub
Das funktioniert nur, wenn in der Zelle
Pfad- und Dateiname steht - sonst musst Du halt anpassen.
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• sharky51
Registriert seit: 09.05.2015
Version(en): 2013, Office 365
Hallo Ralf,
das ist ja cool und funktioniert super. Vielen Dank!
Ist es noch möglich dass außer mit dem Rechtsklick zusätzlich gleich nach öffnen der Datei die Pfadangaben in der Spalte "A" bis zur letzten Zeile durchlaufen und alle Angaben aktualisiert werden?
Also automatisch alle gewünschten Daten aktualisiert werden.