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