Checkbox mit Button verwenden
Daniel D.
- html
Hallo alle zusammen, ich habe folgendes Problem.
Mein VBScript durchsucht einen Ordner mit Hilfe einer Schleife, aus dem Ordner werden die Dateien mit Namen und Größe in ein HTML Dokument geschrieben. Jetzt will ich per Checkbox die Dateien auswählen, die später gelöscht werden sollen. Das erzeugen der Checkboxen und eines Button "löschen" ist kein Problem, aber wie verbinde ich den Button mit den Checkboxen, wenn ich ihn betätige, dass dieser dann ein Löschvorgang der ausgewählten Dateien veranlasst.
Ich wäre sehr dankbar wenn mir jemand helfen kann.
Hi Daniel,
[..] aber wie verbinde ich den Button mit den Checkboxen, wenn ich ihn betätige, dass dieser dann ein Löschvorgang der ausgewählten Dateien veranlasst.
In VB? Die Checkboxen haben alle Namen, du kannst das Ereignis onClick beim Button abfangen und die Checkboxen durchgehen und jedes auf "enabled" prüfen. Wenn es "enabled" ist, kannst du die betreffende Zeile (Text was auch immer) löschen.
Oder meinstes du in HTML die Verbindung duch ein Formular?
Wer löscht, das VB-Script? Läuft das als serverseitige Skriptsprache oder als lokale Anwendung? Ich habe zusätzlich noch nicht genau verstanden, was wo gelöscht werden soll.
Liebe Grüße
romy
Hallo Romy,
das VBScript soll löschen. Mit dem Script erstelle ich eine HTML Datei und schreibe die Ergebnise (Dateien) in die HTML Datei, mit Hilfe einer Schleife hole ich nach bestimmten Kriterien nur bestimmte Dateien die dann gelöscht werden sollen. Nach dem Erzeugen der HTML Datei ruft das Script den Explorer automatisch auf und zeigt mir diese Dateien an. Ich habe die Darstellung etwas formatiert und Checkboxen hinter jede Datei eingefügt und zwei Button, Löschen, Abbrechen integriert. So, jetzt weiß ich nicht wie der Quellcode funktioniert, dass bei betätigen des Löschbuttons die ausgewählten Dateien gelöscht werden.
Das Script funktioniert so weit, jetzt muss nur noch der Button mit löschen eingerichtet werden. Als Orientierung habe ich den Quellcode von SELFHTML genommen (siehe Checkboxen). Von dem OnClick habe ich auch was gehört nur wie?
Hi Daniel,
das VBScript soll löschen.
Mit dem Script erstelle ich eine HTML Datei und schreibe die Ergebnise (Dateien) in die HTML Datei, mit Hilfe einer Schleife hole ich nach bestimmten Kriterien nur bestimmte Dateien die dann gelöscht werden sollen. Nach dem Erzeugen der HTML Datei ruft das Script den Explorer automatisch auf und zeigt mir diese Dateien an. Ich habe die Darstellung etwas formatiert und Checkboxen hinter jede Datei eingefügt und zwei Button, Löschen, Abbrechen integriert. So, jetzt weiß ich nicht wie der Quellcode funktioniert, dass bei betätigen des Löschbuttons die ausgewählten Dateien gelöscht werden.
So dass heißt, wenn ich es jetzt endlich verstanden habe, dass du zum Schluss eine HTML-Seite hast mit einem Formular? Benutzt du VB-Script als serverseite Programmiersprache? Kannst du mittels des Formulars das VB-Script ansteuern? Wenn ja, tu dies und werte die mitgelieferten Checkboxen aus und lösch halt, was du löschen willst.
Das Script funktioniert so weit, jetzt muss nur noch der Button mit löschen eingerichtet werden. Als Orientierung habe ich den Quellcode von SELFHTML genommen (siehe Checkboxen). Von dem OnClick habe ich auch was gehört nur wie?
Ich verstehe nicht so richtig, was du für eine Umgebung hast und genau machst. Beschreibe mal dein System. Wie rufst du das Script auf, im Client oder im Browser.
Falls alles im BRowser ist, dann hilft dir vielleicht das hier:
http://www.galileocomputing.de/openbook/asp/asp040002.htm
http://forum.de.selfhtml.org/archiv/1999/6/t4622/
ciao
romy
Hi Romy,
das Script läuft nicht Serverseitig, es ist auch keine Art Formular.
Hier ist das ganze Script, Du kannst es ohne Risiko ausführen.
Du must nur den Pfad ändern und ein Ordner mit Beispieldateien anlegen.
Allerdings müssen es DOC Dateien sein und der Name muss folgendermaßen aufgebaut sein "einsabc-12345678.doc". Du kannst sie auch anderes nennen, es ist jedoch wichtig das der Name ein "-" enthält, weil das Script aus dem Namen zwei Arrays macht und mit dem zweiten arbeitet. Wenn du sie umbenennst musst du es auch im Script ändern.
Nach dem Minus sollte eine Nummer folgen, es simuliert das Aktenzeichen nach dem ich suchen will. Das Script sucht im oberen Teil nach der genauen Bezeichung (ob in dem Ordner der genau Name zu finden ist) und löscht dann automatisch falls vorhanden die DOC-Datei ( es kommt dann eine Meldung MSGBOX " Datei gelöscht dateiname") und beendet sich dann. Falls nicht, sucht es per Schleife (im oben angegebenen Ordner) nach Doc-Dateien und splitet diese in zwei Arrays´, allerdings nur mit Minuszeichen versehende, andere ignoriert es. Jetzt vergleicht das Script die Dateinamen, allerdings nur die zweiten Arrays, es vergleicht den oben im Script eingegben Namen, also dann nur noch die Nummer; mit den gefundenen im Dateien im Ordner, auch nur die Nummer.
Es vergleicht also Array zwei mit Array zwei, Nummer mit Nummer.
Meine Vorgabe ist: wenn 7 Zeichen (Zahlen) gleich mit der oben im Script aufgeführten Nummer übereinstimmen soll die Datei in eine HTML Datei geschrieben werden, mit Namen und Größe usw.
Ab dem Teil "Explorer aufrufen und die HTML Datei anzeigen", ist ganz groß mit Sternen umrandet, gehts dann los. In der Zeile wo meineDatei.writeLine steht findest du am Ende OnClick was nicht klappt. Ich habe auch noch mal ein Komentar drüber geschrieben in GROßBUCHSTABEN was erst mal passieren soll zur Bestätigung (Test).
Ich hoffe das du mein wildes Script durchblickst und mir dann genauer helfen kannst.
Bis wirklich ganz ans Ende läuft das Script nur wenn es keine Datei mit 7 gleichen Zahlen gefunden hat und öffnet dann als MSGBOX nur "Datei existiert nicht". Die HTML Datei wurde dann trozdem erzeugt, ist aber dann leer, das ist egal. Achso, bei meinedatei.writeLine must du da drauf achten, wenn du bei auf dem Rechner das Script startest, dass der Quellcode in eine Zeile geschrieben werden muss, sonst meckert der. Geht hier nicht anderes zu schreiben, kein platz.
set fso = CreateObject("Scripting.FileSystemObject")
set fo = fso.getFolder("e:\VBScript für Betrieb")
Set fc = fo.files
dokument = "einsabc-12345678.doc"
Bedingung1 = false
FOR EACH datei IN fc
orginalname = fso.getFileName(datei.path)
IF dokument = orginalname THEN
ausgabe = "Die folgende(n) Datei(en) wurde(n) gelöscht:" & vbcr & ausgabe & vbcr & datei.name
Bedingung1 = true
datei.delete
MsgBox ausgabe
END IF
NEXT
IF Bedingung1 = true THEN
WScript.Quit
END IF
Set meineDatei = fso.CreateTextFile("e:\VBScript für Betrieb\log.html")
meineDatei.writeline "<table border=""1"" cellspacing=""3"" cellpadding=""8""> <tr><th>Dateiname</th><th>Groesse</th><th>zuletzt geändert</th><th>Löschen ?</th>"
schreiben = false
arrName = split(dokument, "-")
returnValue = false
' aktenz enthält das Aktenzeichen des zu löschenden Dokuments
' Wert aus arrName zugewiesen...
aktenzeichen = arrName(1)
' Ausführung für alle Dateien in Ordner fc
' Es findet noch keine Typunterscheidung statt...
FOR EACH datei IN fc
'vor jeder neuen Datei wird returnValue mit false initialisiert!
returnValue = false
dateiname = fso.getFileName(datei.path)
' dateiname wird aufgeteilt und die einzelnen Werte werden dem Array
' aktenzeichenordner zugewiesen...
aktenzeichenordner = split(dateiname,"-")
' nur wenn tatsächlich ein zweiter Wert im Array vorhanden ist,
' wird die Variable dort mit 2. Element von array aktenzeichenordner besetzt...
If(UBound(aktenzeichenordner) > 0 ) Then
dort = aktenzeichenordner(1)
returnValue = true
End If
' nur wenn returnValue true ist UND der Vergleich von aktenz und den ersten
' sieben Zeichen von dort WAHR ergibt wird das Dokument in die HTML Datei geschrieben...
If returnValue = true and left(aktenzeichen,7) = Left(dort,7) Then
'ausgabe = ausgabe & vbcr & datei.name
schreiben = true
meineDatei.writeline "<tr><td><a href='" & datei.name & "'>" & datei.name & "</a></td><td>" & datei.size & " </td><td>" & datei.datelastmodified & "</td><td align=""center""><input type=""checkbox"" name=""Auswahl""></td>"
Bedingung = true
END IF
NEXT
If Bedingung = true Then
'**********************************************************
'* *
'* Explorer aufrufen und die HTML Datei anzeigen *
'* *
'**********************************************************
' Jetzt noch die Buttons einbauen... HIER IST DER KRITISCHE PUNKT, BEI BETÄTIGUNG DES BUTTONS SOLL NUR EINE MSGBOX ERSTMAL AUSGEGEN WERDEN, ZUR BESTÄTIGUNG
meineDatei.writeline "<tr><td colspan=""4"" rowspan=""3"" align=""center""><input type=""button"" name=""OK"" value="" Ok ""><input type=""button""name=""cancel""value=""Abbrechen""onClick=""MsgBox (es funktioniert)""></td></tr>"
'MsgBox "Browserobjekt erzeugen"
Set meinBrowser = CreateObject("InternetExplorer.Application.1")
'MsgBox "Browser sichtbar schalten"
meinBrowser.visible = true
'MsgBox "Eine Seite aufrufen"
meinBrowser.navigate2("e:\VBScript für Betrieb\log.html")
End If
If Bedingung = false THEN
ausgabe = " Die Datei "& dokument &" existiert nicht! "
MsgBox ausgabe , + vbInformation
End IF