Naam van USB-stick

Status
Niet open voor verdere reacties.

Oude leerling

Gebruiker
Lid geworden
30 aug 2010
Berichten
554
Geacht forum,

Ik heb een programma op een USB-stick staan welke stick ik op meerdere Computers gebruik

Het vervelende is nu dat deze stick steeds een andere drivenaam heeft als ik van PC wissel

Wat moet ik doen om opdrachten als hieronder universeel te maken
Drive D in onderstaande code is de gebruikte USB-stick

Dus dat alles werkt zonder de drive naam in onderstaande code te hoeven aan te passen

Code:
MkDir "D:\Biljarten " & Sheets("Nieuwe ronde").Range("C3") & "/" & Sheets("Standen").Range("C5")

Vriendelijke groet , Jaap
 
Laatst bewerkt:
De D: weg laten.
 
In zulke gevallen wil je een relatief path gebruiken, en absoluut geen absoluut path.
 
Geacht forum ,

Toch niet de oplossing!!
Heb het vandaag uitgeprobeerd maar als ik D: weglaat dan word het mapje aangemaakt
op mijn C-schijf
Heb ook nog uitgeprobeerd door D:/ weg te laten maar dat gaf eenzelfde resultaat
Hoe kan dat nou??
Vond het zo'n mooie oplossing

Op het usb -stickje staat alleen het programma en ik wil alleen bij het uitvoeren
dat er op dat stickje een mapje word aangemaakt.

Kunt u mij verder helpen
 
Het mapje wordt gemaakt op de disk waar je dat document opent.
Ik begreep uit je verhaal dat je dat document vanaf de USB stick opent.
 
Laatst bewerkt:
USB sticks krijgen op elke PC de eerste vrije driveletter, kun je verder weinig aan doen.
 
Als dat document sowieso op de stick staat en je maakt een kopie naar een andere schijf om daar vandaan het document te openen, kan je dit doen:
Code:
Sub MaakMap()
    Dim DRV As String
        
    DRV = GetDriveLetter(ThisWorkbook.Name)
    If DRV <> "" Then
        MkDir DRV & "\Biljarten " & Sheets("Nieuwe ronde").Range("C3") & "\" & Sheets("Standen").Range("C5")
    End If
End Sub

Function GetDriveLetter(Document As String) As String
    Dim Drive As Object

    For Each Drive In CreateObject("Scripting.FileSystemObject").Drives
        If Drive.DriveType <> 2 Then
            If Dir(Drive & "\" & Document) <> "" Then
                GetDriveLetter = Drive
            End If
        End If
    Next
End Function

De map wordt dan gemaakt op de betreffende USB stick.
 
Laatst bewerkt:
Edmoor,

Ik doe de stick in een willekeurige PC
Open de stick (er wordt dus niet gekopieerd naar een andere drive)
en run het programma vanaf de usb-stick
Onder bepaalde omstandigheden moet er dan een nieuw mapje gemaakt worden (een nieuw jaar bv.)
op het stickje waar van uit het programma gerund word

Hierbij nog wat meer info
Misschien had ik wat duidelijker moeten zijn


Code:
mapnaam = "Biljarten " & Sheets("Nieuwe ronde").Range("C3")  'Nieuw mapje maken op de Usb-stick met jaartal staande in C3
If Dir(mapnaam, vbDirectory) = vbNullString Then 
MkDir mapnaam

Dim d As Date
       d = Sheets("Nieuwe ronde").Range("A7")
If Month(d) = 1 Then  ' 
   Sheets("Standen").Range("C5") = "Ronde 1"            'juiste ronde noteren op blad "Standen"
   MkDir "Biljarten " & Sheets("Nieuwe ronde").Range("C3") & "/" & Sheets("Standen").Range("C5")
Else
   Sheets("Standen").Range("C5") = "Ronde 2"
   MkDir "Biljarten " & Sheets("Nieuwe ronde").Range("C3") & "/" & Sheets("Standen").Range("C5")
End If

Hopelijk kunt me verder helpen
 
Wat voor een programma heb je het over?
 
In post 1 heb je het over drivenaam maar je bedoelt driveletter? Weet niet of dit artikel nog betekenis kan hebben.

edit:
Topic staat op opgelost?
 
Laatst bewerkt:
Of probeer dit eens:
Code:
MkDir Left(ThisWorkbook.Name, 2) & "\Biljarten " & Sheets("Nieuwe ronde").Range("C3") & "\" & Sheets("Standen").Range("C5")
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan