Bestandsnamen in map uitlezen
Bestandsnamen in map uitlezen
Bestaat er een mogelijkheid om bestandsnamen in een bepaalde map uit te lezen??
Zo ja met welke macro opdracht kan ik dit het beste maken.
Dus ik wil in mijn PDF map kijken welke pdf er in die map staat zodat er een lijst wordt gemaakt deze op het werkblad komen te staan zodat ik dan de lijst kan uitprinten.
Ik hoop dat ik het duidelijk heb uitgelegd anders hoor ik het wel
Zo ja met welke macro opdracht kan ik dit het beste maken.
Dus ik wil in mijn PDF map kijken welke pdf er in die map staat zodat er een lijst wordt gemaakt deze op het werkblad komen te staan zodat ik dan de lijst kan uitprinten.
Ik hoop dat ik het duidelijk heb uitgelegd anders hoor ik het wel
Andreas
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
Re: Bestandsnamen in map uitlezen
Als dit niet zo heel vaak hoeft te gebeuren zou je ook kunnen doen:
Start:
cmd.exe
met het commando CD naar de juiste map gaan:
CD C:\Users\naam\......
Lijstje genereren:
DIR /B *.pdf >bestandslijst.csv
Bestandje openen in Writer of Calc
Macro's zijn echt complex, advies is niet aan beginnen.
Start:
cmd.exe
met het commando CD naar de juiste map gaan:
CD C:\Users\naam\......
Lijstje genereren:
DIR /B *.pdf >bestandslijst.csv
Bestandje openen in Writer of Calc
Macro's zijn echt complex, advies is niet aan beginnen.
W11 21H2 (build 22000), LO 7.4.1.2(x64)
Het is Microsoft marketing die laat geloven dat computers geschikt zijn voor niet technici
Het is Microsoft marketing die laat geloven dat computers geschikt zijn voor niet technici
Re: Bestandsnamen in map uitlezen
Ik had net deze Excel macro gevonden, nu nog omzetten naar OOo vba.
Code: Selecteer alles
Sub GetFiles()
Dim fileList() As String
Dim fName As String
Dim I As Integer, X As Integer
fName = Dir("D:\Mijn Documenten\mijn map\" & "*.pdf")
While fName <> ""
I = I + 1
ReDim Preserve fileList(1 To I)
fileList(I) = fName
fName = Dir()
Wend
If I = 0 Then
MsgBox "Geen bestanden gevonden"
Exit Sub
Else
Columns(1).ClearContents
For X = 1 To I
Cells(X, 1) = fileList(X)
Next
End If
End Sub
Andreas
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
Re: Bestandsnamen in map uitlezen
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
Re: Bestandsnamen in map uitlezen
Hallo Romke,
Dank voor de tip, heb daar wel veel moeten zoek maar dit heb ik gevonden.
Alleen het "across" werkt goed maar het "down" niet, dit ga ik proberen te vinden.
Tip zijn natuurlijk altijd welkom.
Dank voor de tip, heb daar wel veel moeten zoek maar dit heb ik gevonden.
Code: Selecteer alles
Sub ListSubDirectoriesOrFiles
Dim url,iAns,a,DorF,oDoc,oSheet,Dname,Col,Row
oDoc = ThisComponent
oSheet = oDoc.Sheets(0) 'Sheet1
url = getFolder("List folder content",)
a = "List the names of what?" & Chr(13) & "Yes = sub-directories" & Chr(13) & "No = files"
iAns = MsgBox(a,4,"List what?")
If iAns = 7 then
DorF = 0
Else DorF = 16
EndIf
ext = "*"
If DorF = 0 then
ext1 = InputBox("Enter the desired file type extention. Examples: odt for Writer files or * for all files."
If ext1 = "" then MsgBox("Cancel pressed. Quitting.") : End
ext = ext & "." & ext1
EndIf
InitialCell:
Cname = InputBox("Enter the name of the cell that should recieve the initial name, e.g., A2.","Start list where?")
If Cname = "" then MsgBox("No entry made. Quitting.") : End
On Error goto E1
oCell = oSheet.getCellRangeByName(Cname)
a = "List should go in what direction?" & Chr(13) & "Yes = down" & Chr(13) & "No = across"
iAns = MsgBox(a,4,"List down or across?")
If iAns = 7 then
DA = "A"
Else DA = "D"
EndIf
url = url & "/" & ext
Col = oCell.CellAddress.Column
Row = oCell.CellAddress.Row
Dname = Dir(url,DorF)
Do While Dname <> ""
If Dname <> "." And Dname <> ".." then
oCell = oSheet.GetCellByPosition(Col,Row)
oCell.String = Dname
If DA = "D" then
Row = Row + 1
Else Col = Col +1
EndIf
EndIf
Dname = Dir
Loop
MsgBox "Done"
End
E1:
MsgBox "'" & Cname & "' is an illegal cell name. Try again." : Goto InitialCell
End Sub
Function getFolder(sTitle AS String, optional sInitDir) AS String
oPicker = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
oPicker.setTitle(sTitle)
if not ismissing(sInitDir) then oPicker.setDisplayDirectory(sInitDir)
if oPicker.execute() then getFolder = oPicker.getDirectory()
End Function
Alleen het "across" werkt goed maar het "down" niet, dit ga ik proberen te vinden.
Tip zijn natuurlijk altijd welkom.
Andreas
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
Re: Bestandsnamen in map uitlezen
Hallo
Het is niet aan mij om iets negatiefs te zeggen over de door jouw gevonden code. Wel weet ik dat het verstandig is om zo kort mogelijk bij de API te blijven wanneer je wilt programmeren. Dat betekent dat je moet gaan studeren in de boeken die je vast daar ook wel gevonden hebt.
In de zoek actie stond Filepicker centraal dat is de service die gaat over wat je wilt. Wanneer je niet gebruik wilt maken van de mogelijkheden van de API en alles wat OpenOffice biedt dan is het misschien verstandig om een ander programma te gebruiken dan OOo. Ik ben niet jouw debugger
Romke
Het is niet aan mij om iets negatiefs te zeggen over de door jouw gevonden code. Wel weet ik dat het verstandig is om zo kort mogelijk bij de API te blijven wanneer je wilt programmeren. Dat betekent dat je moet gaan studeren in de boeken die je vast daar ook wel gevonden hebt.
In de zoek actie stond Filepicker centraal dat is de service die gaat over wat je wilt. Wanneer je niet gebruik wilt maken van de mogelijkheden van de API en alles wat OpenOffice biedt dan is het misschien verstandig om een ander programma te gebruiken dan OOo. Ik ben niet jouw debugger
Romke
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
Re: Bestandsnamen in map uitlezen
Ik geloof dat wij elkaar steeds verkeerd begrijpen
Er staat duidelijk
Jij hoeft ook niet mijn debugger te zijn.Ik ben niet jouw debugger
Er staat duidelijk
Verder even goede vrienden hoor.Alleen het "across" werkt goed maar het "down" niet, dit ga ik proberen te vinden.
Andreas
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
Re: Bestandsnamen in map uitlezen
Hallo
Voor anderen is het misschien wel goed te weten waar de code vandaan komt. Ik denk dat dit de link is.
Aan het eind geeft Villeroy een voorbeeld met uitleg. Ik heb het niet geprobeerd. Maar voorbeelden en uitleg van Villeroy zijn in het algemeen het beste wat je kunt krijgen.
Romke
Voor anderen is het misschien wel goed te weten waar de code vandaan komt. Ik denk dat dit de link is.
Aan het eind geeft Villeroy een voorbeeld met uitleg. Ik heb het niet geprobeerd. Maar voorbeelden en uitleg van Villeroy zijn in het algemeen het beste wat je kunt krijgen.
Romke
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
Re: Bestandsnamen in map uitlezen
Inderdaad dat is het.
Had inderdaad de link er wel bij kunnen zetten.
Had inderdaad de link er wel bij kunnen zetten.
Andreas
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.
LibreOffice 4.4.7.2. op Linux Mint en zeker geen Versie 5 meer.