Thema Datum  Von Nutzer Rating
Antwort
11.01.2020 14:08:10 VBA Übung
NotSolved
11.01.2020 14:57:42 Gast50732
NotSolved
Rot VBA Programmierung anpassen
12.01.2020 12:40:50 Gast24466
NotSolved
12.01.2020 21:58:51 VBA Übung
Solved

Ansicht des Beitrags:
Von:
Gast24466
Datum:
12.01.2020 12:40:50
Views:
659
Rating: Antwort:
  Ja
Thema:
VBA Programmierung anpassen

Moin!
Hier mal dein Code zurück. Beim Auslesen der Namen habe ich noch ergänzt, dass an den Namen das Erstellungsdatum angehängt wird.

Nach dem Eintrag in Spalte 1 wird der Wert dann aufgesplittet. Sollte klappen, ist aber ungetestet.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Option Explicit
Private strList() As String
Dim varFolder As Variant
Private lngCount As Long
Dim strTMP As String
Public Sub Dateinamen()
Dim zeile As Long
Dim temp
            Columns("A:C").EntireColumn.Hidden = True
  
    lngCount = 0
    'strTMP = GetFolder()
    strTMP = "D:\test" ' so für festen Pfad
    If strTMP = "" Or Left(strTMP, 1) = ":" Then Exit Sub
    SearchFiles strTMP, "*.pdf"
    'SearchFiles strTMP, "*.ppt", True 'so MIT Unterordner
    If Right(strTMP, 1) <> "\" Then strTMP = strTMP & "\"
    If lngCount = 0 Then
        MsgBox "No file found"
        Exit Sub
    End If
    With ThisWorkbook.Worksheets(1)
        .Columns(1).Clear
        .Range(.Cells(3, 1), Cells(lngCount + 2, 1)) = _
            WorksheetFunction.Transpose(strList)
    .Columns("A").AutoFit
    Columns("A:C").EntireColumn.Hidden = True
    For zeile = 3 To lngCount + 2
        temp = .Cells(zeile, 1)
        .Cells(zeile, 1) = Split(temp, "#+#")(0)
        .Cells(zeile, 7) = Split(temp, "#+#")(1)
    Next
     
    End With
    Call Make_Link
    Set varFolder = Nothing
End Sub
Private Function GetFolder() As String
    Dim objShell As Object
    Dim strPath As String
    Set objShell = CreateObject("Shell.Application")
    Set varFolder = objShell.BrowseForFolder(0, "Folder", &H4000, 17)
    If varFolder Is Nothing Then
        Set varFolder = Nothing
        Set objShell = Nothing
        Exit Function
    End If
    GetFolder = varFolder.Self.Path
    Set objShell = Nothing
End Function
Private Sub SearchFiles(strFolder As String, strFileName As String, Optional blnSubFolder As Boolean = False)
    Dim objFolder As Object
    Dim objFile As Object
    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    For Each objFile In objFSO.GetFolder(strFolder).Files
        If objFile.Name Like strFileName Then
            ReDim Preserve strList(lngCount)
            strList(lngCount) = objFile.Name & "#+#" & objFile.DateCreated
            lngCount = lngCount + 1
        End If
    Next
    If blnSubFolder = True Then
        For Each objFolder In objFSO.GetFolder(strFolder).Subfolders
            SearchFiles strFolder & "\" & objFolder.Name, strFileName
        Next objFolder
    End If
End Sub
Public Sub Make_Link()
    Dim lngRow As Long
    With ThisWorkbook.Worksheets(1)
        lngRow = .Range("A" & .Rows.Count).End(xlUp).Row
        For lngRow = 2 To lngRow
            .Hyperlinks.Add Anchor:=.Cells(lngRow, 1), _
                Address:=strTMP & .Cells(lngRow, 1)
        Next lngRow
    End With
End Sub

VG


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
11.01.2020 14:08:10 VBA Übung
NotSolved
11.01.2020 14:57:42 Gast50732
NotSolved
Rot VBA Programmierung anpassen
12.01.2020 12:40:50 Gast24466
NotSolved
12.01.2020 21:58:51 VBA Übung
Solved