• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bestanden vanuit Excel knippen/plakken in verkenner

Status
Niet open voor verdere reacties.

hasuthika

Gebruiker
Lid geworden
8 nov 2018
Berichten
23
Ik ben op zoek naar een code die hetvolgende doet:
In de map 'Producten' staan .XML bestanden en submappen.
De namen van deze .XML bestanden zijn (bijvoorbeeld) als volgt:
  • Product A 1-8-19.XML
  • Product A 2-8-19.XML
  • Product A 3-8-19.XML
  • Product B 1-8-19.XML
  • Product B 5-8-19.XML
  • Product C 6-8-19.XML
Ik wil alle bestanden beginnend met 'Product A' in submap 'Product A' hebben staan.
Dus bestand 'Product A 1-8-19.XML' komt te staan in map 'Producten/Product A', dus 'Producten/Product A/Product A 1-8-19.XML'
En dit voor alle bestanden in deze map. Deze mogen hierna niet meer zichtbaar zijn in de map 'Producten', ofwel:
Alle bestanden beginnend met 'Product A' knippen en plakken in de map 'Product A'.
 
Scherm : bestand openen

Files of type: all files
Filename "Product A*,*"

Bestanden selecteren en knippen/ plakken.
 
Maar een macrootje is natuurlijk leuker :).

Code:
Function BestandenVerplaatsen()
Dim strFilename As String
Dim strPath As String, myName As String, tmpPath As String, tmp As String
Dim fso As Object

    Set fso = CreateObject("Scripting.Filesystemobject")
    myName = Dir("H:\Producten\")     ' Retrieve the first entry.
    Do While myName <> ""    ' Start the loop.
        If tmpPath <> "" Then tmpPath = tmpPath & ";"
        tmp = Split(myName, " ")(LBound(Split(myName, " "))) & "_" & Split(myName, " ")(LBound(Split(myName, " ")) + 1)
        If InStr(1, tmpPath, tmp) = 0 Then MkDir "H:\Producten\" & tmp
        fso.MoveFile Source:="H:\Producten\" & myName, Destination:="H:\Producten\" & tmp & "\" & myName
        tmpPath = tmpPath & tmp
        myName = Dir
    Loop

End Function
 
Moet het wel een leuk makrootje zijn... ;)

Code:
Sub M_snb()
  c00 = Application.DefaultFilePath & "\"

  Shell Replace("cmd /c copy ""~Product A*.*"" ""~Product A\""", "~", c00), 0
  Kill c00 & "Product A*.*"
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan