Function dosdirObOs(dirSlash, filter) Dim fn, subD fn = Dir(dirSlash & "*.*", vbDirectory) With CreateObject("Scripting.FileSystemObject") While Len(fn) If fn <> "." And fn <> ".." Then If .FolderExists(dirSlash & fn) Then addS2list subD, dirSlash & fn & "\" Else If endswith(fn, filter) Then addS2list dosdirObOs, dirSlash & fn: End If: End If: End If fn = Dir(): Wend: End With If Not IsEmpty(subD) Then For Each fn In subD: addS2list dosdirObOs, dosdirObOs(fn, filter): Next End Function
Function endswith%(str, endS) endswith = (Len(str) - Len(endS) + 1) = InStrRev(str, endS) End Function
'add simple types to list Sub addS2list(V, i) Dim ai On Error Resume Next If IsArray(i) Then For Each ai In i addS2list V, ai: Next Else ReDim Preserve V(UBound(V) + 1) If err.Number = 13 Then ReDim V(0) If IsObject(i) Then Set V(UBound(V)) = i Else V(UBound(V)) = i End If End Sub
Synes godt om
Slettet bruger
23. maj 2011 - 22:58#4
well - hvis det skulle betyde noget er her lige den jeg glemte i #3:
Function arr2list(arr, Optional delimit = ",", Optional upper, Optional lower) Dim delim As New ListSep, i% delim.char = delimit If IsMissing(lower) Then lower = 0: End If If IsMissing(upper) Then upper = UBound(arr): End If For i = lower To upper arr2list = arr2list & delim & arr(i): Next End Function
Synes godt om
Slettet bruger
23. maj 2011 - 23:10#5
shit - den anvender LispSep klassen som måske har en default method som måske er hacket ind fra fil (Attribute VB_UserMemId) i vba editoren
Option Compare Database Option Explicit Private str$ Private isFirst As Boolean Private Sub Class_Initialize() isFirst = True str = "," End Sub Property Get char$() If isFirst Then char = "" isFirst = False Else char = str: End If End Property
Er ikke sikker på at DOS redirect ">" også kører fra Shell - prøv.
En lille fælde: Shell kører asynkront, så blot fordi Access-koden kører den næste linie, så er det ikke sikkert at shell-scriptet har kørt færdigt. Du kan Google efter en meget mere kompleks ShellWait, som først kommer tilbage når den er færdig.
brugerekspert: jeg må være ærlig og sige at jeg ikke fatter 70% af ovenstående vba scfript procedurer. derfor vil det være svært for mig at indsætte / erstatte parametre i dit script. Jeg er ikke programmør :-)
hvordan ser det samlede billede ud som jeg kan ligge på en knap i en formular hvis min sti er som anført og tabellen den skal hælde data i hedder "billeder" i databasen.?
Synes godt om
Slettet bruger
25. maj 2011 - 10:16#10
Hej hnto Tillader mig også at bruge forumet som plads til udveksling af ideer - uden hver gang at leve op til en agenda om at hjælpe. En enkelt løftet pegefinger: Eksperimenter og konkluder! ;)
Anyway: (gider ikke teste - indeholder 'pladsholder' navne)
dim fn for each fn in dosdirObOs("c:\billeder\",".jpg") currentdb.execute "insert into tabel(fref) values('" & fn & "')" next
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.