Tarve olisi luoda hakemisto ILMAN, että tarvitsee käyttää shelliä. Eli siis suoraan VB koodista tietyn niminen hakemisto. Samalla pitäisi testata (, jos tarpeen), että onko hakemisto jo olemassa vai luodaanko se.
Sitten samaan syssyyn toinen mieltä askarruttava asia, että kuin luen Wintoosan system hakemiston suoraan koodista ja palautan sen muuttujaan? Kun se voi olla joko \Winnt\system tai \Windows\System.
En ole varma toimiiko VB:ssä, mutta pitäisi toimia ehkä
Mkdir "plaaplaa"
lainaus:
Sitten samaan syssyyn toinen mieltä askarruttava asia, että kuin luen Wintoosan system hakemiston suoraan koodista ja palautan sen muuttujaan?
http://www.pietschsoft.com/programming/vbapi/
lainaus:
Kun se voi olla joko \Winnt\system tai \Windows\System.
Tai \dfgsdfg\system
Juu, juuri noin.
Dim Hak As String Hak = "C:\Testikansio" MkDir Hak
Koitin tehdä sellaista, mikä tarkistaa hakemiston olemassaolon, mutta VB ei tykännyt koodistani :P
Sitten, Windowsin System32-hakemiston selvitys menee näin:
WinApi-käsky:
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Koodi:
Dim Temp As String * 256, SysHak As String GetSystemDirectory Temp, 256 'Pyydetään hakemistopolkua SysHak = Left(Temp, InStr(Temp, Chr(0)) - 1) 'Erotellaan se MsgBox SysHak 'Näytetään muuttujan sisältämä teksti (hakemistopolku)
Hakemiston tarkistaminen:
Dim nimi As String On Error GoTo eiole nimi = Dir("c:\uusi\", vbDirectory) If nimi <> "" Then If GetAttr(nimi) = vbDirectory Then MsgBox "Hakemisto on olemassa!" End If End If eiole:
Ei toimi tuo hakemiston tarkistaminen???
jos muokkaisi tosta c:\uusi\ -> c:\uusi niin varmaankin toimisi.
Löysin toimivan yhden rivin ratkaisun:
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long MakeSureDirectoryPathExists ("C:\Testi_kansio\")
Hehhee, onpas functio... mistä sä ton löysit kun on tollaisessa kummadll:ssä(imagehlp?????)
http://www.visualbasicforum.com/showthread.php?t=92746&highlight=path exist
Toimii muuten todella hyvin. Ja luo hakemisto moneen tasoon tarvittaessa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.