Guest User

Untitled

a guest
Apr 26th, 2018
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.60 KB | None | 0 0
  1. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  2. 'Makra:Ładowanie nazw plików pdf do excela.
  3. '
  4. 'Autor: Daniel Dąbrowski
  5. '
  6. 'Zastosowanie: Program został stworzony na potrzeby osoby bedącej na samozatrudnieniu.
  7. 'Makra została stworzona do wyszukiwania plików pdf znajdujących się w wybranym folderze.
  8. 'Wyszukane nazwy plików są następnie wypisywane do pierwszej kolumny Arkusza1
  9. '
  10. 'Opis Makra:
  11. 'W celu poprawnego działania programu należy załączyć standardową bibliotekę Microsoft Scripting Runtime
  12. 'Makra uruchamiana jest poprzez skrót klawiszowy Ctrl+Shift+W.
  13. 'Po uruchomieniu pojawia się okienko dialogowe. Należy kliknąć na wybrany
  14. 'folder następnie na dowolny plik znajdujący się w folderze.Ikonka wyboru zmieni się
  15. 'na "Możesz już kliknąć". Wartości zostaje wypisane do pierwszej kolumny. W nagłówku kolumny
  16. 'w komórce A1 znajduj się ścieżka do wybranego folderu.
  17. 'Przy ponownym uruchomieniu makra zawartość kolumny kolumny A jest kasowana.
  18. '
  19. 'Uwagi: Makra była testowana wyłącznie na Excelu 2013 i 2016.
  20. '
  21. '
  22. 'By Daniel Dąbrowski, dabrowski.daniel@interia.pl
  23. '
  24. 'Macro Description: This macro has been created for self-employed person.
  25. 'By using this code all pdf files can be found and add to excel Arkusz1 spreadsheet.
  26. '
  27. '
  28. 'How to Use:
  29. '
  30. 'In order to use this code standard library Microsoft Scripting Runtime must be added .
  31. 'By pressing shortcut Ctrl+Shift+W an application open windows pops up. In open window
  32. 'find a proper folder and open it, then click on any file within folder. When file is clicked,
  33. 'open button changed caption from "Open" to "Możesz już kliknąć". Afterwards all pdf files names
  34. 'populate cells in first columns A. In first cell A1 folder name appears.
  35. '
  36. '
  37. 'Comments. Macro Has been tested on Excel 2013 and 2016.
  38. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  39. Sub PDFSearcher()
  40.  
  41. Application.ScreenUpdating = False
  42.  
  43. Dim Path As String
  44. Dim fso As Scripting.FileSystemObject
  45. Dim fil As Scripting.File
  46. Dim PDF As Scripting.Folder
  47. Dim fd As FileDialog
  48. Dim Count As Integer
  49. Dim Length As Integer
  50. Dim Fol As String
  51.  
  52. Set fd = Application.FileDialog(msoFileDialogFilePicker)
  53. Set fso = New Scripting.FileSystemObject
  54.  
  55. With fd
  56. .AllowMultiSelect = False
  57. .ButtonName = "Możesz już kliknąć "
  58. .Title = "Wybierz Folder PDF"
  59. If .Show = -1 Then ' if OK is pressed
  60. Fol = .SelectedItems(1)
  61. Else
  62. Exit Sub
  63. End If
  64.  
  65. End With
  66.  
  67.  
  68. Length = Len(Fol)
  69.  
  70. Path = Left(Fol, InStrRev(Fol, "\", Length))
  71.  
  72.  
  73.  
  74. Set PDF = fso.GetFolder(Path)
  75.  
  76.  
  77.  
  78. Worksheets("Arkusz1").Activate
  79. Worksheets("Arkusz1").Columns(1).ClearContents
  80. Range("A1").Value = Left(Fol, InStrRev(Fol, "\", Length) - 1)
  81. Range("A2").Activate
  82.  
  83. Count = 1 'Zmienna służaca do sprawdzenia czy w folderze był plik pdf
  84.  
  85.  
  86.  
  87. For Each fil In PDF.Files
  88.  
  89.  
  90. If Left(fso.GetExtensionName(fil.Path), 3) = "pdf" Then
  91.  
  92. ActiveCell.Value = fil.Name
  93. ActiveCell.Offset(1, 0).Select
  94. Count = Count + 1
  95.  
  96. End If
  97.  
  98.  
  99. Next fil
  100.  
  101. If Count = 1 Then
  102.  
  103. MsgBox "W tym folderze nie ma żadnych plików pdf."
  104.  
  105. End If
  106.  
  107.  
  108. Range("A2").Select
  109. Columns("A").AutoFit
  110.  
  111. Set fso = Nothing
  112. Set fd = Nothing
  113.  
  114. Application.ScreenUpdating = True
  115.  
  116. End Sub
Add Comment
Please, Sign In to add comment