Jag tycks inte kunna kopiera vissa mappar i Windows XP. T.ex C:\Documents and Settings\[user]\Cookies Jag är inte helt säker men kan det vara så att Dir endast tillåter dig att undersöka mappar som du faktiskt har behörighet till? Om det fungerar med de flesta mappar men inte under "Document and settings" så skulle jag gissa att detta är problemet. Testa att logga in som administratör och ge dig själv rättighet till en mapp som du misslyckas med och kör din programkod igen. Jag är inloggad som administratör. Programmet jag gör är ett backupprogram som kopierar valda mappar. Om jag bara struntar i att kolla mappen med Dir, så fungerar all annan kod, dvs skapa en ny mapp med samma namn (tex Cookies) och kopiera alla filer. Enda 'hindret' är att Dir inte ser att mappen finns. Jag får precis samma problem, har ingen aning om varför. Det fungerar däremot fint att lista alla filer i Cookies-mappen, såhär gjorde jag: Har du kollat vilka attributer mappen har? Andreas Hillqvist: Ser man på, den koden fungerade. Kan inte komma åt/kopiera vissa mappar?
Jag gör såhär:
- Kör en rutin som visar windows "välj mapp"-dialogruta.
- Väljer t.ex den angivna mappen ovan (Cookies)
- Lägger sökvägen i variabeln 'mapp'
Kör jag 'MsgBox mapp' ser jag sökvägen där. Men om jag kör Dir(mapp, vbDirectory) så svarar den att mappen inte finns (alltså ="" ).
Varför blir det på dessa viset?
/GabrielSv: Kan inte komma åt/kopiera vissa mappar?
Sv:Kan inte komma åt/kopiera vissa mappar?
Kan du återskapa samma 'fel' som jag får, eller får du annat resultat? Finns det nåt annat enkelt sätt att kontrollera om mappar finns, bortsett från Dir?Sv: Kan inte komma åt/kopiera vissa mappar?
<code>
Dim fil As String
fil = Dir("C:\Documents and Settings\johand\Cookies\")
While Len(fil) > 0
Debug.Print fil
fil = Dir()
Wend
</code>
/JohanSv: Kan inte komma åt/kopiera vissa mappar?
Jag fick det att fungera genom att skriva:
Private Sub Form_Load()
Dim DirResult As String
Dim CookiePath As String
CookiePath = Environ$("USERPROFILE") & "\Cookies"
DirResult = Dir(CookiePath, vbDirectory Or vbHidden Or vbReadOnly Or vbSystem)
If Len(DirResult) Then
MsgBox "You have cookies!"
Else
MsgBox "I did not find any cookies. But I'm just a simple program."
End If
End Sub
Sv:Kan inte komma åt/kopiera vissa mappar?
Tack så mycket för hjälpen! :)