ironhead-hayns
Goto Top

Benötige VBS Scrpit um eine TXT. Datei zu erstellen.

Hallo Zusammen,
ich hätte da gerne mal wieder ein Problem gehabt!

Ich hab mal wieder eine kleine Herausforderung. Leider bin ich Systemer und kein Entwickler(der is in Elternzeit). Mit meinBatch Mitteln hätte ich es auch lösen können, aber halt nicht schön für meine Schäfchen.

Also es wird eine Applikation benötigt die 2 Parameter in eine TXT Datei speichert, und dann auf einem Laufwerk ablegt. Damit eine Folgeverarbeitung(bereits fertig gebaut) durch die Eingabe mit den richtigen Parametern automatisch gestartet kann.

Die Applikation hatte ich mir als .hta oder .vbs vorgestellt.
Die Applikation soll "Tina Vorbereitung" heißen.
Es werden 2 Eingabefelder untereinander benötigt.
Eingabefeld Nummer 1 soll: "Datei(- ohne Datei)" heißen.
Eingabefeld Nummer 2 soll: "Jobname" heißen.
dann braucht die Applikation einen "Start Button" der "Ausführen" heißt.

Durch klicken des "Ausführen" Buttons muss im Ordner "M:\Trigger" eine "Tina.txt" Datei erstellt werden, in der in der ersten Zeile die Eingabe aus Eingabefeld Nummer 1 steht. In der zweiten Zeile muss die Eingabe aus Eingabefeld Nummer 2 stehen.

Den Rest erledigt das Sytem!

So wenn das zu langweilig ist hab ich noch ein bisschen Schmuck am Nachthemd anzubieten(das ist also für mich nicht zeitkritisch). Die Datei muss in den ersten 4 Zeichen "Tina" heißen danach könnte ich die Uhrzeit wann die TXT Datei erzeugt wurde gut gebrauchen und den Rechnernamen von dem TXT-Datei erstellt wurde. Also In etwa: "Tina_%UHRZEIT%_%Rechnername%.txt.
Wem das noch nicht reicht............. In der dritten Zeile könnte in der TXT Datei noch der Username stehen. (Dann würde mein User Benachrichtigung bekommen, ob seine Verarbeitung erfolgreich oder Fehlerhaft gelaufen ist, ansonsten müsste er nach schauen!)

Vielen vielen Dank! Vorab!

Content-Key: 195249

Url: https://administrator.de/contentid/195249

Printed on: April 19, 2024 at 13:04 o'clock

Member: TsukiSan
TsukiSan Dec 03, 2012 updated at 12:41:48 (UTC)
Goto Top
Hallo Ironhead-Haynes,

also mit BAT oder VBS ein Fensterchen zu kreiren mit 2 Eingabefeldern und 'nem Knöpfchen...Naja, lassen wir lieber.
Wenn es eine ganz simple Lösung in Batch sein darf und dir das ganz schlichte Design gefällt, dann probier mal dass hier:
@Echo Off
Set /P "Zeile1=Bitte Daten fuer Zeile 1 eingeben:"  
Set /P "Zeile2=Bitte Daten fuer Zeile 2 eingeben:"  
set "Stunde=%Time:~0,2%"  
set "Minute=%Time:~3,2%"  
set "Sekunde=%Time:~6,2%"  
Set "MeineDatei=Tina_%Stunde%.%Minute%.%Sekunde%_%Computername%.txt"  


Echo %Zeile1% >%MeineDatei%
Echo %Zeile2% >>%MeineDatei%
Echo %Username% >>%MeineDatei%
Nach 'ner kurzen Weile bekommst du es sicher selber raus, was es macht und kannst es noch modifizieren nach herzenslust.

Viele Grüsse

Tsuki

Ps.: Wenn es wirklich grafisch werden soll, dann kommst du nicht um eine höhere Sprache drumherum.
Member: Ironhead-Hayns
Ironhead-Hayns Dec 04, 2012 at 07:59:11 (UTC)
Goto Top
Hallo, danke fürs Batch Script. Ja das ist die Lösung die ich meinen Kollegen auch hätte anbieten können. Nur wenn ich damit zur 19jährigen Auzurbiene gehe fragt die mich erst mal mit Rehaugen wo Sie den da klicken müsse!! Also nicht wirklich praktikabel. Ich dachte es würde mit einem kleinen Applikations Fensterchen mit Eingabefeld und Button etwas Benutzer freundlicher werden.
Member: TsukiSan
TsukiSan Dec 04, 2012 at 08:18:57 (UTC)
Goto Top
Ich dachte es würde mit einem kleinen Applikations Fensterchen mit Eingabefeld und Button etwas Benutzer freundlicher werden.

Tja, dann helfen Batch und VBS ehr nicht, da diese Script-Sprachen sind.
Du benötigst dann er grafische Programmiersprachen (VisualBasic etc. und Co).
Einen Gedankenanstoss hätte ich für dich, ohne, dass du die Developertools kaufen musst:
Sicher habt ihr doch ein Office installiert? Dann könnte man beispielsweise in Excel 2 Zeilen zur Eingabe nehmen und alle anderen sperren, darunter einen "Button" hinzufügen über die VisualBasic Toolsammlung von Excel und in diesem Button dann ein paar Zeilen Code hinterlegen, die die drei Zeilen in deine Datei and besagten Ort hinterlegt.

Wäre das was?

Gruss
Tsuki
Mitglied: 76109
76109 Dec 04, 2012 updated at 10:18:18 (UTC)
Goto Top
Hallo zusammen!

@Ironhead-Hayns
Versuchs mal hiermit (*.hta):
<html><head><title>Tina Vorbereitung</title>
<HTA:APPLICATION ID="Tina" APPLICATIONNAME="Tina-Vorbereitung" SCROLL="no" SINGLEINSTANCE="yes"/>  
<style type="text/css">  
    <!--
        body        { background-color:buttonface; }
        table       { color:buttontext; font-family:Arial; font-size:9pt; }
        input       { color:buttontext; font-family:Arial; font-size:9pt; }

        #size2      { font-size:2pt; }
        #size4      { font-size:4pt; }
    -->
</style></head>
<SCRIPT Language="VBScript">  
    Const sFolderPath = "M:\Trigger"  
    Const WindowWidth = 300     'Fensterbreite  
    Const WindowHeight = 200    'Fensterhöhe  

    Sub Window_OnLoad()
        Window.ResizeTo WindowWidth, WindowHeight
        Window.MoveTo (Screen.Width - WindowWidth) / 2, (Screen.Height - WindowHeight) / 2
        Datei.Focus
    End Sub
    
    Sub ButtonOK_Click()
        Dim oFso, sPath, sComputername, sUsername, sText
        
        If Datei.Value = "" Or Jobname.Value = "" Then  
            MsgBox "Die Eingabefelder sind unvollständig!", vbExclamation, "Fehler..."  
        Else
            Set oFso = CreateObject("Scripting.FileSystemObject")  
            
            If oFso.FolderExists(sFolderPath) Then
                With CreateObject("WScript.Network")  
                    sComputername = .ComputerName
                    sUsername = .UserName
                End With
                 
                sPath = sFolderPath & "\Tina_" & Replace(Time, ":", "") & "_" & sComputername & ".txt"  
                sText = Datei.Value & vbCrLf & Jobname.Value & vbCrLf & sUsername
                 
                oFso.CreateTextFile(sPath).Write sText
            Else
                MsgBox "Abruch: Der Pfad existiert nicht: " & sFolderPath, vbExclamation, "Fehler..."  
            End If
            Self.Close
        End If
    End Sub
</SCRIPT>
<body>
<table width="100%">  
    <tr>
        <td>
            <fieldset><legend><b>Datei(- ohne Datei)</b></legend>
                &nbsp;&nbsp;<input type="text" name="Datei" value="" size="41">  
                <br><br id="size4">  
            </fieldset>
        </td>
    </tr>
</table><br id="size2">  
<table width="100%">  
    <tr>
        <td>
            <fieldset><legend><b>Jobname</b></legend>
                &nbsp;&nbsp;<input type="text" name="Jobname" value="" size="41">  
                <br><br id="size4">  
            </fieldset>
        </td>
    </tr>
</table><br id="size2">  
<table width="100%">  
    <tr>
        <td align="center">  
            <input type="button" style="width:60pt" value="Ausführen" onClick="ButtonOK_Click()">  
        </td>
    </tr>
</table>
</body></html>

Gruß Dieter
Member: TsukiSan
TsukiSan Dec 04, 2012 at 10:19:39 (UTC)
Goto Top
Hallo Dieter,

sauber!

Gruss
Tsuki
Mitglied: 76109
76109 Dec 04, 2012 at 10:31:10 (UTC)
Goto Top
Hallo Tsuki!

Jepp, mit Html- und VBS-Code kann man schon ganz nette Dinge machenface-wink

Gruß Dieter
Member: TsukiSan
TsukiSan Dec 04, 2012 at 10:43:43 (UTC)
Goto Top
Hallo Dieter,

da gebe ich dir recht!
Mit Hta hatte ich noch nichts unternommen und hatte in diese Richtung gar keine Idee.
Mit VisualBasic oder so wäre dem TO sein Vorhaben blitzschnell schön grafisch umgesetzt. Aber dein HTA-schnipsel macht ja genau, was er möchte und auch noch mit kleinem Fensterchen.
Da muss ich mich mal in HTA reinlesen. Eventuell braucht man das mal.

Super!

Gruss
Tsuki
Member: Ironhead-Hayns
Ironhead-Hayns Dec 04, 2012 at 11:59:57 (UTC)
Goto Top
Hallo Dieter,
super perfekt! ich bin schwer begeistert! Exakt was ich gebraucht habe. Wirklich geil man man!!


Vielen vielen Dank!!

Der Hayns
Mitglied: 76109
76109 Dec 04, 2012 at 23:37:32 (UTC)
Goto Top
Hallo Hayns!

Freut mich, wenn's gefälltface-wink


Gruß Dieter
Member: MediumWasser
MediumWasser Dec 05, 2012 at 06:43:49 (UTC)
Goto Top
Hallo Dieter,
bin beim googeln hier drauf gestoßen wirklich cooles Script!! Ich werd es auch benutzen! Nur kann man das 2te Feld mit einem Dropdown Befehl/Menü automatisch aus einer anderen Text Datei füllen? das nur noch den entsprechenden Eintrag anklicken muss??

Danke
Bernd
Mitglied: 76109
76109 Dec 05, 2012 updated at 09:43:08 (UTC)
Goto Top
Hallo Bernd!

In etwa so (Pfade: sFileInPath und sFolderOutPath anpassen):
<html><head><title>Tina Vorbereitung</title>
<HTA:APPLICATION ID="Tina" APPLICATIONNAME="Tina-Vorbereitung" SCROLL="no" SINGLEINSTANCE="yes"/>  
<style type="text/css">  
    <!--
        body        { background-color:buttonface; }
        table       { color:buttontext; font-family:Arial; font-size:9pt; }
        input       { color:buttontext; font-family:Arial; font-size:9pt; }
        select      { color:buttontext; font-family:Arial; font-size:9pt; }

        #size2      { font-size:2pt; }
        #size4      { font-size:4pt; }
    -->
</style></head>
<SCRIPT Language="VBScript">  
    Const sFolderOutPath = "C:\Test"    'Ordner-Pfad Ausgabedatei  
    Const sFileInPath = "C:\Test.txt"   'Datei-Pfad Eingabedatei (ComboBox-Daten)  
    Const WindowWidth = 300             'Fensterbreite  
    Const WindowHeight = 200            'Fensterhöhe  
    
    Sub Window_OnLoad()
        Window.ResizeTo WindowWidth, WindowHeight
        Window.MoveTo (Screen.Width - WindowWidth) / 2, (Screen.Height - WindowHeight) / 2
        Call InitOption
        Datei.Focus
    End Sub

    Sub InitOption()
        Dim oFso, oOption, aText, sText
        
        Set oFso = CreateObject("Scripting.FileSystemObject")  
        
        If oFso.FileExists(sFileInPath) Then
            aText = Split(oFso.OpenTextFile(sFileInPath).ReadAll, vbCrLf)
            
            For Each sText In aText
                If sText <> "" Then  
                    Set oOption = Document.CreateElement("Option")  
                    oOption.Text = sText
                    Jobname.Add oOption
                End If
            Next
           'Jobname.Style.Width = 240   'Wenn's die volle Breite sein soll  
        Else
            MsgBox "Datei nicht gefunden:" & vbCr & vbCr & sFileInPath, vbExclamation, "Fehler..."  
        End If
    End Sub

    Sub ButtonOK_Click()
        Dim oFso, sPath, sComputername, sUsername, sText
        
        If Datei.Value = "" Or Jobname.SelectedIndex = -1 Then  
            MsgBox "Die Eingabefelder sind unvollständig!", vbExclamation, "Fehler..."  
        Else
            Set oFso = CreateObject("Scripting.FileSystemObject")  
            
            If oFso.FolderExists(sFolderOutPath) Then
                With CreateObject("WScript.Network")  
                    sComputername = .ComputerName
                    sUsername = .UserName
                End With
                 
                sPath = sFolderOutPath & "\Tina_" & Replace(Time, ":", "") & "_" & sComputername & ".txt"  
                sText = Datei.Value & vbCrLf & Jobname(Jobname.SelectedIndex).Text & vbCrLf & sUsername
                oFso.CreateTextFile(sPath).Write sText
            Else
                MsgBox "Der Pfad existiert nicht: " & sFolderOutPath, vbExclamation, "Fehler..."  
            End If
            Self.Close
        End If
    End Sub
</SCRIPT>

<body>
<table width="100%">  
    <tr>
        <td>
            <fieldset><legend><b>Datei(- ohne Datei)</b></legend>
                &nbsp;&nbsp;<input type="text" name="Datei" value="" size="41">  
                <br><br id="size4">  
            </fieldset>
        </td>
    </tr>
</table><br id="size2">  
<table width="100%">  
    <tr>
        <td>
            <fieldset><legend><b>Jobname</b></legend>
                &nbsp;&nbsp;<select name="Jobname" size="1"></select>  
                <br><br id="size4">  
            </fieldset>
        </td>
    </tr>
</table><br id="size2">  

<table width="100%">  
    <tr>
        <td align="center">  
            <input type="button" style="width:60pt" value="Ausführen" onClick="ButtonOK_Click()">  
        </td>
    </tr>
</table>
</body></html>

Gruß Dieter
Member: Ironhead-Hayns
Ironhead-Hayns Dec 05, 2012 at 10:34:59 (UTC)
Goto Top
WOW!!
den nehm ich auch!! Respekt!
Member: MediumWasser
MediumWasser Dec 05, 2012 at 19:35:49 (UTC)
Goto Top
Hallo Dieter,
Wirklich gut.

verbindlichsten Dank
Member: Gurkenhobel
Gurkenhobel Jan 29, 2013 updated at 12:11:57 (UTC)
Goto Top
Hallo Dieter,

ein wirklich superfeines Script. Ich habe es ein wenig abgewandelt und wollte das obere Eingabefeld ebenfalls als Dropdown-Menü einrichten. Dabei gab es aber Probleme. Fehler in Zeile 46 !

Hier also mal der VBS-Teil des Scripts, der HTML-Teil wurde bis auf einige Änderungen der Feld-Bezeichnung nicht geändert:


    Const sFolderOutPath = "E:\Downloads"            ' Ordner-Pfad Ausgabedatei  
    Const sFileInPath = "E:\Downloads\Dateien.txt"   ' Datei-Pfad Eingabedatei (Eigenschaften)  
    Const sFileInPathb = "E:\Downloads\Namens.txt"   ' Datei-Pfad Eingabedatei (Vornamen)  

    Const WindowWidth = 300                          ' Fensterbreite  
    Const WindowHeight = 200                         ' Fensterhöhe  
    
    Sub Window_OnLoad() ' Fenstermitte  
        Window.ResizeTo WindowWidth, WindowHeight
        Window.MoveTo (Screen.Width - WindowWidth) / 2, (Screen.Height - WindowHeight) / 2
        Call InitOption  ' evtl. eine 2. Unterprozedur noch einfügen ?!  
        Datei.Focus
    End Sub

    Sub InitOption()
        Dim oFso, oOption, aText, sText
        Dim oOptionb, aTextb, sTextb ' nachträglich eingefügt      
        Set oFso = CreateObject("Scripting.FileSystemObject")  
        
        If oFso.FileExists(sFileInPath) Then
            aText = Split(oFso.OpenTextFile(sFileInPath).ReadAll, vbCrLf)
            
            For Each sText In aText
                If sText <> "" Then  
                    Set oOption = Document.CreateElement("Option")  
                    oOption.Text = sText
                    Jobname.Add oOption
                End If
            Next
           'Jobname.Style.Width = 240   'Wenn's die volle Breite sein soll  
        Else
            MsgBox "Datei nicht gefunden:" & vbCr & vbCr & sFileInPath, vbExclamation, "Fehler..."  
        End If

' ------------ nachträglich eingefügter Code: ---  
' ------------ erstes Dropdown-Feld zur Auswahl des Vornamens  

        If oFso.FileExists(sFileInPathb) Then
            aTextb = Split(oFso.OpenTextFile(sFileInPathb).ReadAll, vbCrLf)
            
            For Each sTextb In aTextb
                If sTextb <> "" Then  
                    Set oOptionb = Document.CreateElement("Option")  
                    oOptionb.Text = sTextb
                    Namens.Add oOptionb  ' <--------------- FEHLER: Das Objekt unterstützt diese Eigenschaft oder Methode nicht  
                End If
            Next
           'Namens.Style.Width = 240  
        Else
            MsgBox "Datei nicht gefunden:" & vbCr & vbCr & sFileInPath, vbExclamation, "Fehler..."  
        End If

' ------------- Ende des eingefügten Codes ---------------  

    End Sub

    Sub ButtonOK_Click()
        Dim oFso, sPath, sComputername, sUsername, sText
        
        If Datei.Value = "" Or Jobname.SelectedIndex = -1 Or Names.SelectedIndex = -1 Then  
            MsgBox "Die Eingabefelder sind unvollständig!", vbExclamation, "Fehler..."  
        Else
            Set oFso = CreateObject("Scripting.FileSystemObject")  
            
            If oFso.FolderExists(sFolderOutPath) Then
                With CreateObject("WScript.Network")  
                '    sComputername = .ComputerName ' nicht mehr benötigt  
                    sUsername = .UserName
                End With
                 
                sPath = sFolderOutPath & "\User_" & Replace(Time, ":", "") & ".txt"  
                '--- sText = Datei.Value & vbCrLf & Jobname(Jobname.SelectedIndex).Text ' & vbCrLf & sUsername  
                sText = Namens(Namens.SelectedIndex).Text & "  " & Jobname(Jobname.SelectedIndex).Text  
                oFso.CreateTextFile(sPath).Write sText
            Else
                MsgBox "Der Pfad existiert nicht: " & sFolderOutPath, vbExclamation, "Fehler..."  
            End If
            Self.Close
        End If
    End Sub
</SCRIPT>

Freue mich auf Antwort
Grüße Micha
Member: Gurkenhobel
Gurkenhobel Jan 29, 2013 at 15:55:32 (UTC)
Goto Top
Hi,

nur zur Info - habe die Lösung selbst gefunden im HTML-Teil muß natürlich in Zeile 78
<input type="text" name="Datei" value="" size="41">  
durch
<select name="Namens" size="1"></select>  
analog zur Zeile 88 ausgetauscht werden und Zeile 61 meines Scripts muß richtig heißen
If Jobname.SelectedIndex = -1 Or Names.SelectedIndex = -1 Then
.
Dann funktionierts auch

Grüße Micha
Mitglied: 76109
76109 Jan 29, 2013 at 23:23:26 (UTC)
Goto Top
Hallo Gurkrnhobel!

Deinen Fehler hast Du ja inzwischen selbst herausgefunden, aber Du solltest Dich schon für eine Bezeichnung entscheiden (Namens oder Names?), dann sollte dies auch funktionieren:
If Jobname.SelectedIndex = -1 Or **Names**.SelectedIndex = -1 Then

Gruß Dieter
Member: Gurkenhobel
Gurkenhobel Jan 30, 2013 at 10:21:53 (UTC)
Goto Top
Hallo Dieter,
danke :=; ja dann nehme ich wohl
... Namens.SelectedIndex = -1
(kleiner Tibbfehler)
Gruß Micha
Member: Ironhead-Hayns
Ironhead-Hayns Feb 06, 2013 updated at 09:56:09 (UTC)
Goto Top
Hallo zusammen,
wir haben nun auch noch ein bisschen was übernommen,und dran rum geschraubt und ein paar Abfragen eingebaut. Jetzt bin aber mal wieder blind und find es nicht! In dem 2ten Eingabefeld(der Dropbox) soll in txt Datei nun hinter dem auswählbaren Jobnamen eine Beschreibungen des selbigen stehen (damit Arzubine weiß was Sie tut, und Ihren Notizzettel weg schmeissen kann) Daher sollen aus der txt Datei Auswahl nur die ersten 8 Zeichen übernommen werden. Ich hab die "Left=(Trullala,8)" Funktion schon gefunden nur bekomme ich es wieder nicht hin! Zweitens haben meine Schäfchen mich gefragt ob es nicht möglich wäre eine Msgbox die einen nach richtige Eingabe und Starten klicken, nochmal fragt ob man sicher das die Auswahl richtig ist, und dann entweder mit Ja bestätigt oder mit Abbrechen wieder zurück springt.

Vielen Dank euch allen, ist ja richtig was draus geworden!!!


<html><head><title>Tina-SchallundRauch</title>
<HTA:APPLICATION ID="Tina" APPLICATIONNAME="Tina-SchallundRauch" SCROLL="no" SINGLEINSTANCE="yes"/>
<style type="text/css">
<!--
body { background-color:buttonface; }
table { color:buttontext; font-family:Arial; font-size:9pt; }
input { color:buttontext; font-family:Arial; font-size:9pt; }
select { color:buttontext; font-family:Arial; font-size:9pt; }

#size2 { font-size:2pt; }
#size4 { font-size:4pt; }
-->
</style></head>
<SCRIPT Language="VBScript">
Const sFolderOutPath = "C:\Tina" 'Ordner-Pfad Ausgabedatei
Const sFileInPath = "C:\Tina\jobs.txt" 'Datei-Pfad Eingabedatei (ComboBox-Daten)
Const WindowWidth = 600 'Fensterbreite
Const WindowHeight = 200 'Fensterhöhe

Sub Window_OnLoad()
Window.ResizeTo WindowWidth, WindowHeight
Window.MoveTo (Screen.Width - WindowWidth) / 2, (Screen.Height - WindowHeight) / 2
Call InitOption
Datei.Focus
End Sub

Sub InitOption()
Dim oFso, oOption, aText, sText

Set oFso = CreateObject("Scripting.FileSystemObject")

If oFso.FileExists(sFileInPath) Then
aText = Split(oFso.OpenTextFile(sFileInPath).ReadAll, vbCrLf)

For Each sText In aText
If sText <> "" Then
Set oOption = Document.CreateElement("Option")
oOption.Text = sText
Jobname.Add oOption
End If
Next
'Jobname.Style.Width = 240 'Wenn's die volle Breite sein soll
Else
MsgBox "Datei nicht gefunden:" & vbCr & vbCr & sFileInPath, vbExclamation, "Fehler..."
End If
End Sub

Sub ButtonOK_Click()
Dim oFso, sPath, sComputername, sUsername, sText
Dim ausgabe

If Datei.Value = "" Then
MsgBox "Die Eingabe darf nicht leer sein! Ein Lauf ohne Datei, bitte mit - starten.", vbExclamation, "Fehler..."
ElseIf LCase(Right(Datei.Value, 4)) <> ".csv" and Datei.Value <> "-" Then
MsgBox "Fehlerhafte Eingabe! Dateiname endet nicht auf .csv!", vbExclamation, "Fehler..."
Else
Set oFso = CreateObject("Scripting.FileSystemObject")
ausgabe = "Der Job " & Jobname(Jobname.SelectedIndex).Text & " wurde erfolgreich mit der Datei " & Datei.Value & " gestartet"
MsgBox ausgabe

If oFso.FolderExists(sFolderOutPath) Then
With CreateObject("WScript.Network")
sComputername = .ComputerName
sUsername = .UserName
End With

sPath = sFolderOutPath & "\Tina_" & Replace(Time, ":", "") & "_" & sUsername & ".sub"
sText = Datei.Value & vbCrLf & Jobname(Jobname.SelectedIndex).Text & vbCrLf & sUsername & vbCrLf & sComputername
oFso.CreateTextFile(sPath).Write sText
Else
MsgBox "Der Pfad existiert nicht: " & sFolderOutPath, vbExclamation, "Fehler..."
End If
Self.Close
End If
End Sub
</SCRIPT>

<body>
<table width="100%">
<tr>
<td>
<fieldset><legend>Datei("-" ohne Datei)</legend>
<input type="text" name="Datei" value="-" size="41">
<br><br id="size4">
</fieldset>
</td>
</tr>
</table><br id="size2">
<table width="100%">
<tr>
<td>
<fieldset><legend>Jobname</legend>
<select name="Jobname" size="1"></select>
<br><br id="size4">
</fieldset>
</td>
</tr>
</table><br id="size2">

<table width="100%">
<tr>
<td align="center">
<input type="button" style="width:60pt" value="Starten" onClick="ButtonOK_Click()">
</td>
</tr>
</table>
</body></html>


verdammt er übernimmt den Quelltext nicht richtig!
Mitglied: 76109
76109 Feb 13, 2013 updated at 10:50:40 (UTC)
Goto Top
Hallo Ironhead-Hayns!

Hat leider etwas gedauert, da ich derzeit wenig Zeit habeface-wink

Ändere Deine Eingangs-Datei in folgendes (Semikolon-Trennzeichen)-Format um:
Jobname;Beschreibung
Dann erscheint der Jobname in der Auswahlliste und die Beschreibung in einer seperaten Textzeile darunter.

Die Ja/Nein-Abfrage habe ich auch noch mit eingebaut.

Da Dein Code nicht in Code-Tags gesetzt ist, habe ich mir aber nicht die Mühe gemacht, den Code in ein lesbares Format abzuändernface-wink
<html><head><title>Tina-SchallundRauch</title>
 <HTA:APPLICATION ID="Tina" APPLICATIONNAME="Tina-SchallundRauch" SCROLL="no" SINGLEINSTANCE="yes"/>  
 <style type="text/css">  
 <!--
 body { background-color:buttonface; }
 table { color:buttontext; font-family:Arial; font-size:9pt; }
 input { color:buttontext; font-family:Arial; font-size:9pt; }
 select { color:buttontext; font-family:Arial; font-size:9pt; }
 
#size2 { font-size:2pt; }
 #size4 { font-size:4pt; }
 -->
 </style></head>
 <SCRIPT Language="VBScript">  
 Const sFolderOutPath = "C:\Tina" 'Ordner-Pfad Ausgabedatei  
 Const sFileInPath = "C:\Tina\jobs.txt" 'Datei-Pfad Eingabedatei (ComboBox-Daten)  
 Const WindowWidth = 600 'Fensterbreite  
 Const WindowHeight = 225 'Fensterhöhe  

 Sub Window_OnLoad()
 Window.ResizeTo WindowWidth, WindowHeight
 Window.MoveTo (Screen.Width - WindowWidth) / 2, (Screen.Height - WindowHeight) / 2
 Call InitOption
 Datei.Focus
 End Sub
 
Sub InitOption()
 Dim oFso, oOption, aText, sText, aOption, sOption, sComment

 Set oFso = CreateObject("Scripting.FileSystemObject")  

 If oFso.FileExists(sFileInPath) Then
 aText = Split(oFso.OpenTextFile(sFileInPath).ReadAll, vbCrLf)

 For Each sText In aText
 If sText <> "" Then  
 aOption = Split(sText,";"):  sOption = aOption(0)  
 If UBound(aOption) > 0 Then sComment = aOption(1) Else	sComment = ""  
 Set oOption = Document.CreateElement("Option")  
 oOption.Text = sOption
 oOption.Value = sComment
 Jobname.Add oOption
 End If
 Next
 Jobname.SelectedIndex = 0:  Call Jobname_Click()
 Jobname.Style.Width = WindowWidth - 66 'Wenn's die volle Breite sein soll  
 Else
 MsgBox "Datei nicht gefunden:" & vbCr & vbCr & sFileInPath, vbExclamation, "Fehler..."  
 End If
 
 End Sub
 
 Sub Jobname_Click()
	Kommentar.InnerHTML = Jobname(Jobname.SelectedIndex).Value
 End Sub
 
 Sub ButtonOK_Click()
 Dim oFso, sPath, sComputername, sUsername, sText
 Dim ausgabe

 If Datei.Value = "" Then   
 MsgBox "Die Eingabe darf nicht leer sein! Ein Lauf ohne Datei, bitte mit - starten.", vbExclamation, "Fehler..."  
 ElseIf LCase(Right(Datei.Value, 4)) <> ".csv" and Datei.Value <> "-" Then  
 MsgBox "Fehlerhafte Eingabe! Dateiname endet nicht auf .csv!", vbExclamation, "Fehler..."  
 Else
 Set oFso = CreateObject("Scripting.FileSystemObject")  

 If oFso.FolderExists(sFolderOutPath) Then
 With CreateObject("WScript.Network")  
 sComputername = .ComputerName
 sUsername = .UserName
 End With

 If MsgBox("Soll der Job <" & Jobname(Jobname.SelectedIndex).Text & "> jetzt audgeführt werden?", _  
			vbQuestion Or vbYesNo, "Bestätigen . . .") = vbNo Then Exit Sub  
 sPath = sFolderOutPath & "\Tina_" & Replace(Time, ":", "") & "_" & sUsername & ".sub"  
 sText = Datei.Value & vbCrLf & Jobname(Jobname.SelectedIndex).Text & vbCrLf & sUsername & vbCrLf & sComputername
 oFso.CreateTextFile(sPath).Write sText
 ausgabe = "Der Job " & Jobname(Jobname.SelectedIndex).Text & " wurde erfolgreich mit der Datei " & Datei.Value & " gestartet"  
 MsgBox ausgabe
 Else
 MsgBox "Der Pfad existiert nicht: " & sFolderOutPath, vbExclamation, "Fehler..."  
 End If
 Self.Close
 End If
 End Sub
 </SCRIPT>
 
<body>
 <table width="100%">  
 <tr>
 <td>
 <fieldset><legend>Datei("-" ohne Datei)</legend>  
 &nbsp;&nbsp;<input type="text" name="Datei" value="-" size="100">  
 <br><br id="size4">  
 </fieldset>
 </td>
 </tr>
 </table><br id="size2">  
 <table width="100%">  
 <tr>
 <td>
 <fieldset><legend>Jobname</legend>
 &nbsp;&nbsp;<select name="Jobname" size="1" onClick="Jobname_Click()"></select>  
 <br><br id="size4">  
 &nbsp;&nbsp;<span id="Kommentar"></span>  
 <br><br id="size4">  
 </fieldset>
 </td>
 </tr>
 </table><br id="size2">  
 <table width="100%">  
 <tr>
 <td align="center">  
 <input type="button" style="width:60pt" value="Starten" onClick="ButtonOK_Click()">  
 </td>
 </tr>
 </table>
 </body></html>
 

Gruß Dieter