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

Opgelost Variabele bestandsverwijzing.

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

dr.Danz

Gebruiker
Lid geworden
27 jan 2024
Berichten
6
Goedenavond,
Is er een mogelijkheid om een bestandsverwijzing variabel te maken?
Hiermee bedoel ik dat ik een usbstick gebruik met daarop een folder die op mijn pc de D: is en dus alle verwijzingen nu naar D: gaan en misschien bij iemand anders op de pc de E: daar zouden dus de verwijzingen naar D: niet opgaan.
het gedeelte stukje tekst is:

ActiveSheet.Pictures.Insert("D:\BRAND\Kappen\Tstuk Kappen\GoKNP.jpg").Select

zou er iets bestaan die mijn 12 modules direct kunnen veranderen naar E als de usbstick daarin word geplugd?

Mvg, Dan
 
Voer deze eens uit, dan kom je vanzelf wel op een idee:
Code:
Sub test()
    MsgBox Dir("D:\BRAND\Kappen\Tstuk Kappen\GoKNP.jpg")
    MsgBox Dir("E:\BRAND\Kappen\Tstuk Kappen\GoKNP.jpg")
    MsgBox Dir("F:\BRAND\Kappen\Tstuk Kappen\GoKNP.jpg")
    MsgBox Dir("G:\BRAND\Kappen\Tstuk Kappen\GoKNP.jpg")
End Sub
 
Een USB-stick heeft als herkenning een 1 als drivetype.
Met driveletter haal je het op.

Code:
For Each dr In CreateObject("scripting.filesystemobject").drives
   If dr.drivetype = 1 Then MsgBox dr.drivetype & vbLf & dr.driveletter
Next
 
ok bedankt ik ga er eens naar kijken.
Waar kan ik deze plaatsen als ik daar alle modules direct mee pak?
in thisworkbook?
of als sub in elke module bovenaan?
 
Laatst bewerkt:
Met de mooie methode van HSV, plaats deze functie in een Module:
Code:
Function USBdriveletter() As String
    For Each dr In CreateObject("scripting.filesystemobject").drives
       If dr.drivetype = 1 Then
            USBdriveletter = dr.driveletter
            Exit Function
        End If
    Next
End Function
en vervolgens kun je die ongeveer zo gebruiken:
Code:
Sub test()
    Dim Q As String
    Q = USBdriveletter()
    If Q <> "" Then
        ActiveSheet.Pictures.Insert(Q & ":\BRAND\Kappen\Tstuk Kappen\GoKNP.jpg").Select
    End If
End Sub
Ook nog even testen of je wel de juiste USB stick gebruikt, misschien zitten er wel twee in?
 
Bedankt.
Ik was niet specifiek genoeg kom ik achter want jullie helpen mij inderdaad met deze specifieke jpg maar op de D: staat een map met jpg's en dit was een voorbeeld hoe deze map te benaderen op een usb stick die heet kappen voldoet de regel :

If Q <> "" Then
ActiveSheet.Pictures.Insert(Q & ":\BRAND\Kappen\").Select

dan wel?
 
Laatst bewerkt:
Bv.
Code:
Sub hsv()
Dim dr As Object
For Each dr In CreateObject("scripting.filesystemobject").drives
   If dr.drivetype = 1 Then ThisWorkbook.FollowHyperlink dr.driveletter & ":\Brand\Kappen"
Next
End Sub
 
Bedankt dit is inderdaad wat ik bedoel.

thread kan gesloten worden
 
Mooi zo, als opgelost markeren mag jezelf doen in je openingsvraag.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan