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

Map maken

Status
Niet open voor verdere reacties.

longron

Gebruiker
Lid geworden
2 apr 2007
Berichten
361
beste alle,

ik wil met een vba uit een cel een lokatie opvissen en daarmee ene map maken

dit gaat zolang er een map aanwezig is waarin een nieuwe map wordt gemaakt.

waarom werkt meegestuurde voorbeeld niet of liever wat moet ik veranderen.

alvast bedankt.

Ronald
 

Bijlagen

  • Test.xlsm
    15,3 KB · Weergaven: 26
Zet in B3 bv. test1\test2\test3
Code:
Sub MakeMyFolder()
CreateObject("shell.application").Namespace("c:\users\ronald\documents").newfolder Cells(3, 2)
End Sub
 
Hai Harry,

dank voor je reactie.

Maar hoe krijg ik dan een verwijzing naar een ander pad bv

H:\rooster\2018\test\voorjaar

alvast dank voor je meedenken

Groet,
Ronald
 
Werk met de functie ''Split", en gebruik de dubbele punt als scheidingsteken.

Zo dus.
Code:
Sub MakeMyFolder()
dim sv
sv = split(cells(3, 2), ":")
 CreateObject("shell.application").Namespace(sv(0) & ":").newfolder mid(sv(1), 2)
End Sub
 
Laatst bewerkt:
POke,

thanks,

als ik even tijd heb ga ik ernaar kijken. even uitpuzzelen.


groetjes
Ronald
 
Beste alle,

stukje verder en daardoor weer een nieuwe uitdaging.

map maken lukt prima zolang het mogelijk is dat de map wordt aangemaakt.

echter...... in het netwerk wat ik gebruik staat bv de map nu op D maar moet worden opgeslagen op een andere netwerkmap. BV G.

als G niet bestaat genereert hij natuurlijk een fout. maar hoe kan ik de fout netjes afvangen zodat de gebruiker weet dat wij een verkeerd pad aanmaakt?



Groet,

RonaldBekijk bijlage Test.xlsmBekijk bijlage Test.xlsm
 
Check de beschikbare drives met:

Code:
Sub M_snb()
   With CreateObject("scripting.filesystemobject")
      For Each it In .drives
          MsgBox it.DriveType & vbLf & it.VolumeName & vbLf & it.ShareName & vbLf & it.DriveLetter
     Next
   End With
End Sub
 
Hai Snb,

als ik dit gebruik dan genereert Excel gelijk al een fout.

als ik het goed begrijp gaat het script alle letters af van A tot en met Z

Bij de A loopt hij al vast. Werk hierop op een tc zonder drive.

ga zo nog even verder experimenteren met je oplossing.

groetjes
Ronald
 
Lukt het hiermee?
Code:
Sub hsv()
On Error Resume Next
 For Each dr In CreateObject("scripting.filesystemobject").drives
   MsgBox dr.DriveType & vbLf & dr.DriveLetter 
     If dr.DriveType = 1 Then MsgBox "de " & dr.DriveLetter & " is een verkeerde driveletter"
   Next
End Sub
 
Hai Harry,

ik ga met je formule aan de slag.
Waar ik naar toe moet/wil is het volgende.

ik cel a1 staat het pad g:/etc etc.
daar is het document opgeslagen
Als de gebruiker het pad wil aanpassen/ dus locatie dan tikt hij in H:/etc ect.
excel moet dan controleren of het pad kan worden gemaakt. als het kan dan moet hij het de map maken.

groetjes Ronald
 
Dan lijkt me dat andere overbodig.

Code:
Sub MakeMyFolder()
dim sv
sv = split(cells(3, 2), ":")
[COLOR=#0000ff]on error resume next[/COLOR]
 CreateObject("shell.application").Namespace(sv(0) & ":").newfolder mid(sv(1), 2)
 [COLOR=#0000ff] if err.number > 0 then msgbox "De " & sv(0) & " schijf is niet aanwezig"[/COLOR]
End Sub
 
Yessss,

:thumb::thumb::thumb::thumb:

top,
precies wat ik zoek.

thanks

groetjes
Ronald
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan