Zum Inhalt springen

VBS Open File Dialog Box & VBS und Vista Probleme?


Empfohlene Beiträge

Geschrieben

Hallo Leute,

meine erste frage ist ob es probleme mit VBS und Vista gibt ist euch das was bekannt?

Zu meiner Programmier frage. Wie kann ich das Open File Dialog Box in meinen Script integrieren so das ich nicht den Pfad manuell eintippen sondern mir den Pfad klicken kann? Im englischen heißt das open file dialog box nur leider ist mein englisch nicht mehr so gut :old

Geschrieben
meine erste frage ist ob es probleme mit VBS und Vista gibt ist euch das was bekannt?

nö.

Wie kann ich das Open File Dialog Box in meinen Script integrieren so das ich nicht den Pfad manuell eintippen sondern mir den Pfad klicken kann?

AFAIK kann VBS keine dialoge anzeigen, da keine forms in dem sinne wie bei VB unterstützt werden.

s'Amstel

Geschrieben

Hi Amstelchen

ich habe jetzt was gefunden was mir schon ein bisschen weiter geholfen hat. Habe jetzt meine open file dialog box. vielleicht hatte ich mich auch falsch ausgedrückt. Starte das Skript mal dann siehst du was ich meine mit open file dialog box. HAbe jetzt nur das Prolbem das ich den Ordner auswählen kann aber die Box mir nur den Ordner Namen zurück gibt und nicht den kompletten Pfad. Hast du das vlt. eine Idee wie ich den kompletten Pfad bekomme?

Zum Skript selber es soll ein Pfad ausgewählt und alle Dateien und Ordern die in diesem Pfad vorhanden sind sollen dann ausgegeben werden die Datei sollen mit KB und die Ordern mit MB ausgegeben werden.

Skript:

Option Explicit

Dim FSO, Verzeichnis, UnterVerzeichnis, Datei, Eingabe, Dateimb, Ordnermb, shell, AuswahlTitel, StartOrdner

set shell = CreateObject("Shell.Application")

AuswahlTitel = "Ordner auswählen"

StartOrdner = "C:\"

Set Eingabe = shell.BrowseForFolder(0,AuswahlTitel, 16384,StartOrdner)

Wscript.Echo Eingabe

Wscript.Stdin.Readline

Set FSO = CreateObject ("Scripting.FileSystemObject")

Set Verzeichnis = FSO.GetFolder(Eingabe)

WScript.Echo vbcrlf + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + vbcrlf + "Dateien:" + vbcrlf

For Each Datei In Verzeichnis.Files

Dateimb = Datei.Size/1024

WScript.Echo Datei.Name + " | " & Dateimb & " KB"

Next

WScript.Echo vbcrlf + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + vbcrlf + "Ordner:" + vbcrlf

For Each Unterverzeichnis In Verzeichnis.SubFolders

Ordnermb= Unterverzeichnis.Size/1048576

WScript.Echo Unterverzeichnis.Name + " | " & Ordnermb & " MB"

Next

WScript.Echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

Wscript.Stdin.Readline

Geschrieben

Hi Leute habs hinbekommen falls wer braucht:

Option Explicit

' Flags for the options parameter

Const BIF_returnonlyfsdirs = &H0001

Const BIF_dontgobelowdomain = &H0002

Const BIF_statustext = &H0004

Const BIF_returnfsancestors = &H0008

Const BIF_editbox = &H0010

Const BIF_validate = &H0020

Const BIF_browseforcomputer = &H1000

Const BIF_browseforprinter = &H2000

Const BIF_browseincludefiles = &H4000

Dim file, FSO, Verzeichnis, UnterVerzeichnis, Datei, Eingabe, Dateimb, Ordnermb, shell, AuswahlTitel, StartOrdner

Set FSO = CreateObject ("Scripting.FileSystemObject")

file = BrowseForFolder( _

"Select a file or folder to copy", _

BIF_returnonlyfsdirs + BIF_browseincludefiles, _

"")

If file = "-5" Then

WScript.Echo "Sie können kein Hauptverzeichnis auswählen"

Else

If file = "-1" Then

WScript.Echo "Kein Objekt ausgewählt"+ vbcrlf + vbcrlf + "Hinweiß: Sie können nicht das Hauptverzeichnis(C:) durchsuchen!"

Else

Set Verzeichnis = FSO.GetFolder(file)

Wscript.Echo vbcrlf

Wscript.Echo vbcrlf

Wscript.Echo "Ausgewählter Ordner: "+file

WScript.Echo vbcrlf + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + vbcrlf + "Dateien:" + vbcrlf

For Each Datei In Verzeichnis.Files

Dateimb = Datei.Size/1024

WScript.Echo Datei.Name + " | " & Dateimb & " KB"

Next

WScript.Echo vbcrlf + "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + vbcrlf + "Ordner:" + vbcrlf

For Each Unterverzeichnis In Verzeichnis.SubFolders

Ordnermb= Unterverzeichnis.Size/1048576

WScript.Echo Unterverzeichnis.Name + " | " & Ordnermb & " MB"

Next

WScript.Echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"

Wscript.Stdin.Readline

End If

End If

' Using the shell's BrowseForFolder method to

' return the full path to the selected object

' title = Text shown in the dialog box

' flag = One of the values for controlling the

' BrowseForFolder behavior

' dir = Preselected directory (can be "")

Function BrowseForFolder(title, flag, dir)

On Error Resume Next

Dim oShell, oItem, tmp

' Create WshShell object.

Set oShell = WScript.CreateObject("Shell.Application")

' Invoke Browse For Folder dialog box.

Set oItem = oShell.BrowseForFolder(&H0, title, flag, dir)

If Err.Number <> 0 Then

If Err.Number = 5 Then

BrowseForFolder= "-5"

Err.Clear

Set oShell = Nothing

Set oItem = Nothing

Exit Function

End If

End If

' Now we try to retrieve the full path.

BrowseForFolder = oItem.ParentFolder.ParseName(oItem.Title).Path

' Handling: Cancel button and selecting a drive

If Err<> 0 Then

If Err.Number = 424 Then ' Handle Cancel button.

BrowseForFolder = "-1"

Else

Err.Clear

' Handle situation in which user selects a drive.

' Extract drive letter from the title--first search

' for a colon (:).

tmp = InStr(1, oItem.Title, ":")

If tmp > 0 Then ' A : is found; use two

' characters and add \.

BrowseForFolder = _

Mid(oItem.Title, (tmp - 1), 2) & "\"

End If

End If

End If

Set oShell = Nothing

Set oItem = Nothing

On Error GoTo 0

End Function

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...