• 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.

Lezen, kopieren en usb stick leegmaken.

  • Onderwerp starter Onderwerp starter MrBob
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

MrBob

Gebruiker
Lid geworden
3 aug 2013
Berichten
218
Ik zou graag een formulier in excell maken met twee knoppen die standaard uit zijn, dus op false beginnen.

Dan zou ik willen dat excell om een bepaalde tijd kijkt of een bepaalde map op de usbstick staat als ik deze in de usb poort van de pc steek, laat zeggen boekhouding1 en of boekhouding2 als hoofdmap en dat dan de of de eerste knop1 actief word of als hij boekhouding2 aantreft knop 2 actief word.

Als je dan op deze knop drukt zou ik graag willen hebben dat de complete inhoud van de usb stick op een door mij gekozen plaats neer word gezet en de usb stick leeg word gemaakt.

Wie kan me op weg helpen. Ben nog niet zo thuis in Excell/macro dus alle hulp is welkom.

Mvg, :thumb:
 
Laatst bewerkt:
Deze macro doet wat jij wilt denk ik.
Code:
Option Explicit

Sub CopyFiles()
    Dim lCt As Long
    Dim sPath As String
    For lCt = 68 To 90    'Letters D t/m Z
        sPath = Dir(Chr(lCt) & ":\boekhouding*", vbDirectory)
        If Len(sPath) > 0 Then
            MoveFiles sPath
        End If
    Next
End Sub

Sub MoveFiles(sSourcePath As String)
    Dim sTargetPath As String
    Dim oFD As FileDialog
    Dim sSourceFile As String
    Set oFD = Application.FileDialog(msoFileDialogFolderPicker)
    With oFD
        .Title = "Kies waar de bestanden van '" & sSourcePath & "' heen moeten worden verplaatst"
        If .Show Then
            sTargetPath = .SelectedItems(1)
            sSourceFile = Dir(sSourcePath & "\*.*")
            Do While Len(sSourceFile) > 0
                Name sSourcePath & "\" & sSourceFile As sTargetPath & "\" & sSourceFile
                sSourceFile = Dir()
            Loop
        End If
    End With
End Sub
 
Hallo JKPieterse,

Dank je voor je hulp. Ik ga het vanavond even uitproberen, als het werkt koppel ik het hier even terug. :thumb:
 
Ik heb even gekeken en een macro aangemaakt. Echter na het uitvoeren van de code stopt de code bij:

sPath = Dir(Chr(lCt) & ":\boekhouding*", vbDirectory)

met een foutmelding fout 52.
 
Laatst bewerkt:
Zit het bestand in een map op de stick?

Dan aanpassen aan de juiste naam van de map.
Code:
[COLOR=#333333]\map1\boekhouding*[/COLOR]

Verander het anders eens in.
Code:
Sub CopyFiles()
    Dim lCt As Long
    Dim sPath As String
   [COLOR="#FF0000"] On Error Resume Next[/COLOR]
    For lCt = 68 To 90    'Letters D t/m Z
        sPath = Dir(Chr(lCt) & ":\boekhouding*", vbDirectory)
        If Len(sPath) > 0 Then
            MoveFiles sPath
            [COLOR="#FF0000"]On Error GoTo 0[/COLOR]
        End If
    Next
End Sub
 
Laatst bewerkt:
De dir methode werkt volgens mij alleen als de schijfletters bestaan. De On Error methode van @HSV is een prima oplossing als je weet wat er fout gaat. Je kan ook het type drive opvragen en kijken wat de status is.

Code:
Sub VenA()
  stel = "boekhouding*"
  For Each it In CreateObject("Scripting.FileSystemObject").drives
    If it.drivetype = 1 And it.isready Then
      If Dir(it.driveletter & ":\" & stel, 16) <> "" Then MsgBox "gevonden"
    End If
  Next it
End Sub
 
De Hsv en VenA manier werken vwb het herkennen van de usb stick met bepaalde inhoud, waarvoor mijn dank. Ik moet dit echter nog omzetten naar een formulier met knoppen op False. Ik wil graag dat het formulier continu blijft scannen en dat als ik een usb stick zeg maar met boekhouding 2 in mijn pc stop, knop 2 oplicht en als ik op deze knop druk, de files op de usb stick worden gekopieerd en de files op de usb worden verplaatst naar een vaste plaats op de pc en dat daarna de files worden verwijderd van de usb stick. Dus heeft iemand daar nog tips over dan is dat welkom. Maar nogmaals bedankt zover ik knutsel vanavond even verder en houd jullie alle op de hoogte. :thumb:
 
Laatst bewerkt:
Ik heb als eerste een userform gemaakt in excell 2016. Maar krijg de macro's niet werkend achter de knoppen en heb nog geen weet van hoe de knoppen op False te laten beginnen en dus niets doen, maar na dat ik de usb stick in mijn pc steek hoe de knop op true te zetten en actief word zodat ik via deze knop de inhoud van de usb stick naar een aangewezen directory op mijn schijf kan laten kopiëren.

Wie kan mij verder helpen het liefst met een voorbeeld van wat ik vraag. Ben een beginner die het graag wil leren maar nog wat meer hulp nodig heeft.
 
Je kan eens kijken naar application.ontime bv hierhttp://www.snb-vba.eu/VBA_Application.OnTime.html

Verder zie ik het nut er niet van in. Usb in machine steken op een knop klikken om de data over te zetten en klaar. Om dan knoppen van kleur te laten veranderen lijkt mij niet echt zinvol. application.ontime gaat jouw bestand ook vertragen.

Plaats anders jouw bestand even want wat er niet lukt is zo niet duidelijk.
 
In mijn eerste bericht ben ik eigenlijk vind ik al duidelijk genoeg.

Ik wil graag of je het nuttig vind en of niet graag een macro draaien die knoppen op false en true zet naar welke boekhouding ik via usb stick aanlever.

Ik zal uitleggen waarom ik het zinvol vind en hopelijk kunnen jullie me hier bij helpen want ik heb het al werkend gezien via een userform met knoppen maar kan helaas niet aan dit bestand komen.

Meerdere personen maken meerdere boekhoudingen. 1 noemt de map op de usb stick Boekhouding1 en de ander Boekhouding2 en zo verder. Nu steken zei de usb stick in de pc en moeten ze op het moment alles knippen en plakken naar een bepaalde schijf op deze pc terwijl de usb stick op een andere pc word gemaakt. Dit gaat nu veel fout omdat het knippen en plakken verkeerd gaat omdat de mensen die dit uitvoeren geen pc kennis hebben maar het wel belangrijk is dat ze dit uitvoeren. Ik wil dit met jullie hulp dus makkelijker maken door dit te automatiseren.

Dus was de vraag :

Ik zou graag een userformulier in excell maken met twee knoppen die standaard uit zijn, dus op false beginnen.

Dan zou ik willen dat excell om een bepaalde tijd kijkt of een bepaalde map op de usbstick staat als ik deze in de usb poort van de pc steek, laat zeggen boekhouding1 en of boekhouding2 als hoofdmap en dat dan de of de eerste knop1 actief word of als hij boekhouding2 aantreft knop 2 actief word.

Als je dan op deze knop drukt zou ik graag willen hebben dat de complete inhoud van de usb stick op een door mij gekozen plaats neer word gezet en de usb stick leeg word gemaakt.

Wie kan me op weg helpen. Ben nog niet zo thuis in Excell/macro dus alle hulp is welkom.

Mvg,

ps je hebt het over application.ontime. Op tijd hoeft van mij niet maar kan het niet met een loop die scant op boekhouding 1 en of boekhouding2 via een loop ?
 
Laatst bewerkt:
Blijkbaar het linkje niet gelezen? Wat denk je dat application.ontime doet? Als je graag iets wil leren dan moet je lezen, proberen, verder lezen, weer proberen etc. Als het je niet eens lukt om een bestand met een userform te maken met een paar knoppen dan gaat dit een lang verhaal worden.
 
Volgens mij heet het hier toch helpmij ? Of heet het hier zeik mij af ? Als je niet wil helpen, houd je mond AUB voor de mensen die wel willen helpen.

Je ligt zelf te zeiken dat application.ontime de zaak vertraagd, vandaar mijn opmerking kan het met een loop. Als je geen normaal antwoord hierop kan geven, geef dan maar geen antwoord, dan wacht ik rustig op iemand die wel kan helpen.
 
Het is correct dat het hier helpmij heet en niet maak voor mij. De application.ontime maakt juist de loop. Dit kan je instellen van eens per opgegeven tijdseenheid. Jij hebt een vraag. Ik geef je een aantal suggesties waar je blijkbaar nog niet eens naar gekeken hebt laat staan dat je er iets van gaat begrijpen. En ik loop te zeiken? Hoever ben je met jouw voorbeeldbestand? Om een formulier te maken: https://www.google.nl/search?q=hoe+maak+ik+een+userform+in+excel&oq=hoe+maak+ik+een+user&aqs=chrome.2.0j69i57j0l4.13315j1j8&sourceid=chrome&ie=UTF-8

Het alleen formuleren van een wensenlijstje is wat anders dan een vraag stellen MrBob
 
Ik heb als eerste een userform gemaakt in excell 2016. Maar krijg de macro's niet werkend achter de knoppen en heb nog geen weet van hoe de knoppen op False te laten beginnen en dus niets doen,

Je hebt al dus al een formulier, het zou daarom enorm helpen als je dat als voorbeeld bestand plaatst met hoe jij alles hebt staan qua code. Soms is het een kwestie van één of twee regeltjes in de code aanpassen en dan werkt het opeens wel. Zonder voorbeeld moet iemand anders zelf een formulier gaan maken die er dan weer net niet uitziet zoals jij verwacht.
Kortom meest efficiente is dat jij een hier plaatst wat je al gemaakt hebt dan is het voor ons een stuk eenvoudiger om de noodzakelijke aanpassingen te maken en ook de extra wens van periodiek checken te verwerken.
 
Wat een gezeur.

Een userform met twee buttons is toch zo gemaakt!
Ik hoef met zulke vragen ook geen bestand met codes; De code die erin staan gaan daar toch niet over.
Als Ts al een Form heeft past hij het maar aan, en anders komt er wel een vervolgvraag.

In het voorbeeld een Userform met twee knoppen die enabled op false staan.
Is er een bestand aanwezig op de Usb stick zijn ze toereikend.
Druk erop als je het bestand wilt verplaatsen.
 

Bijlagen

@Hsv,

Super jij begrijpt waar ik naartoe wil en het werkt voortreffelijk. Nog 1 ding. Tijdens het opslaan krijg ik nog een foutmelding.

CreateObject("scripting.filesystemobject").movefile DrL & ":\Boekhouding_1.xlsx", sFile & ""

Als ik deze regel goed lees wil jij een file Boekhouding_1.xlsx kopieren/creëren maar op de usb staan verschillende filetypes en verschillende mappen. Ik wil een 1 op 1 kopie van de usb stick. Wat zou ik dan aan deze regel moeten veranderen zodat een 1 op 1 kopie van de files op de usb stick naar de schijf word gemaakt ?

Alvast heel erg bedankt voor je hulp kan er in ieder geval een heel stuk verder mee komen. Wil nu zelf nog gaan proberen dat als hij de file opslaat dat de datum als prefix aan de hoofdmap word gehangen op de uiteindelijke opslag locatie en ik dus op de schijf van de pc een map krijg Boekhouding_1_06-04-2019 krijg zodat ik de opgeslagen files kan onderscheiden en niet steeds de oudere word overschreven.
 
Dit zou moeten werken op de foutregel die je krijgt.
Code:
CreateObject("scripting.filesystemobject").movefile DrL & ":\Boekhouding_2[COLOR=#ff0000]*[/COLOR]", sFile & "\"

De ander is analoog.
 
Ik heb de regel vervangen voor je laatste regel en een word bestandje in de map boekhouding_2 gezet maar helaas nog een error.
 
@ MrBob Nog een zulke taal bezigen en je krijgt een officiele waarschuwing.
 
@huib; Er is mij iets ontgaan zo te lezen. :rolleyes:

@Bob,
Geef anders even aan hoe je mappenstructuur is opgebouwd op de USB-stick.

Zo wordt er gekeken op de USB in bestandenmap 'Boekhouding_2' met de bestandsnamen 'Boekhouding_2*" en hun diverse toevoegingen.
Code:
CreateObject("scripting.filesystemobject").movefile DrL & ":\[COLOR=#ff0000]Boekhouding_2\Boekhouding_2*[/COLOR]", sFile & "\"
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan