drive letter automatisch laten aanpassen in program

Status
Niet open voor verdere reacties.

frankie111

Gebruiker
Lid geworden
8 feb 2014
Berichten
50
Is het mogelijk dat ik in het exel-VBA script onafhankelijk laat werken van de drive van waaruit het programma opgestart wordt?

Ik heb nu een usb-stick waarop een Exel-file staat die een bepaalde bewerking dient uit te werken tussen 2 computers. Bepaalde gegevens worden dan naar de usb geschreven om nadien vanaf de usb naar de andere computer te schrijven.
Daarna worden de bestanden automatisch gewist met de volgende formule:
Kill "E:" & (Verslag1)
Kill "E:" & (Verslag2)

Maar soms heeft de usb-stick niet meer drive lettter E, maar wel drive letter F of G. Daardoor kan bovenstaande opdracht niet meer uitgevoerd worden. Ik weet dat je via schijfbeheer je drive letter kan aanpassen maar dat kan niet de bedoeling zijn doordat ook nog andere mensen van dezelfde usb gebruik maken en niet in staat zijn om die aanpassingen steeds uit te voeren.
Daarom vroeg ik mij af of er iemand voor dit probleem een oplossing weet via een aanpassing in mijn VBA-script?
 
Je kunt met MsgBox ActiveWorkbook.Path de padnaam van het bestand uitlezen. Die kun je dan met Split uitsplitsen.
Code:
Dim arr() As String
    arr = Split(ActiveWorkbook.Path, "\")
    MsgBox arr(LBound(arr))
 
Bij een eerdere instructie werkt dat prima maar om de tijdelijke bestanden te wissen daar schijnt iets niet te lukken
want ik krijg een "toegangsfout naar path of bestand" Enig idee?

Gebruikte formule
Code:
   Dim arr() As String
Kill arr(LBound(arr)) & "\" & (Verslag1)
Kill arr(LBound(arr)) & "\" & (Verslag2)
 
Excuses,

de formule werkt blijkbaar wel. Het had te maken met een beveiliging die het niet mogelijk maakte dat je een bestand in de C:\ kon wissen.
Indien ik verwees naar een andere locatie dan was het geen probleem meer.
OctaFish bedankt voor je hulp. Die kwam goed van pas.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan