Just nu i M3-nätverket
Gå till innehåll

Kontrollera mapp


Warwolf

Rekommendera Poster

Hej,

jag undrar hur man kontrollerar att en mapp finns. Användaren matar in en sökväg och jag vill kontrollera att den stämmer, dvs att alla mappar existerar.

 

Länk till kommentar
Dela på andra webbplatser

Olle Nyrén

[color="#0000ff"]Set[/color] fso = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
[color="#0000ff"]If[/color] fso.FolderExists([GRÅ]"C:\katalog"[/GRÅ]) [color="#0000ff"]Then[/color]
...

mvh

Olle

 

Länk till kommentar
Dela på andra webbplatser

ZilverZtream

Simpelt sätt att göra det på:

 

[color="#0000ff"]If[/color] Dir([GRÅ]"C:\ANVÄNDARENS\SÖKVÄG"[/GRÅ]) <> 0 [color="#0000ff"]Then[/color] [color="#0000ff"]MsgBox[/color] [GRÅ]"Sökvägen existerar"[/GRÅ]

 

Länk till kommentar
Dela på andra webbplatser

Har testat bådas alternativ men får inget att fungera.

 

så här har jag gjort:

[color="#0000ff"]Public[/color] [color="#0000ff"]Log[/color]_path As [color="#0000ff"]String[/color]

[color="#0000ff"]Sub[/color] Main

[color="#0000ff"]Log[/color]_path = [color="#0000ff"]InputBox[/color]$([i]...[/i])

[color="#0000ff"]If[/color] Dir([color="#0000ff"]Log[/color]_path) <> 0 [color="#0000ff"]Then[/color]
[i]...[/i]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

...

 

När jag kör programmet så får jag felet Type Mismatch vid villkoret.

 

Gör jag något fel eller vad.

 

Länk till kommentar
Dela på andra webbplatser

ZilverZtream

Ber om ursäkt, var lite trött när jag skrev lösningen åt dig igår kväll. :)

 

 

[color="#0000ff"]Public[/color] [color="#0000ff"]Log[/color]_path As [color="#0000ff"]String[/color]

[color="#0000ff"]Sub[/color] Main

[color="#0000ff"]Log[/color]_path = [color="#0000ff"]InputBox[/color]$(...)

[color="#0000ff"]If[/color] [color="#0000ff"]Len[/color](Dir([color="#0000ff"]Log[/color]_path)) <> 0 [color="#0000ff"]Then[/color]
...
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

...

 

Då fungerar det utmärkt.

Du kan nog även köra med

 

[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] Dir([color="#0000ff"]Log[/color]_path) = [GRÅ]""[/GRÅ] [color="#0000ff"]Then[/color]

 

MVH

ZilverZtream

 

Länk till kommentar
Dela på andra webbplatser

Tack så mycket för att du försöker.

 

Tyvärr så får jag det inte att fungera.

 

Kan sägas att jag programmerar script till ett program, så kanske dessa funktioner inte fungerar för mig därför. I min dokumentation så verkar det inte som om Dir har något returvärde, kanske därför det spökar.

 

Länk till kommentar
Dela på andra webbplatser

ZilverZtream

hmmm, nej, skriptar du så fungerar inte DIR.

 

Men FSO borde fungera. (det Olle Nyrén visade tidigare).

 

[color="#0000ff"]Dim[/color] fso, strFolder

[color="#0000ff"]Set[/color] fso = [color="#0000ff"]CreateObject[/color]([GRÅ]"Scripting.FileSystemObject"[/GRÅ])
strFolder = [GRÅ]"C:\"[/GRÅ]

[color="#0000ff"]If[/color] [color="#0000ff"]Not[/color] (fso.FolderExists(strFolder)) [color="#0000ff"]Then[/color]
      [color="#0000ff"]MsgBox[/color] [GRÅ]"Foldern Finns Ej!"[/GRÅ]
      [color="#0000ff"]Set[/color] fso = [color="#0000ff"]Nothing[/color]
      [color="#0000ff"]Exit[/color] [color="#0000ff"]Function[/color]
[color="#0000ff"]End[/color] [color="#0000ff"]If[/color]

 

Hoppas det fungerar, ananrs får jag tänka ut en annan lösning.

 

 

/

ZilverZtream

 

Länk till kommentar
Dela på andra webbplatser

Nope, fungerade inte heller.

Programmet verkar inte känna igen

fso.FolderExists()

 

Skall i ärlighetens namn säga att jag inte kan särskillt mycket om VB, har bara hållit på i tre veckor.

Vet inte om det är någon speciell script-version av VB. Det jag skriver är script/macron till programmet Audio Precision 2.24.

 

Mycket tacksam för att du försöker hjälpa mig.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...