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

ironhead-hayns
Goto Top

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

Ausgedruckt am: 02.07.2022 um 10:07 Uhr

Mitglied: TsukiSan
TsukiSan 03.12.2012 aktualisiert um 13:41:48 Uhr
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:
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.
Mitglied: Ironhead-Hayns
Ironhead-Hayns 04.12.2012 um 08:59:11 Uhr
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.
Mitglied: TsukiSan
TsukiSan 04.12.2012 um 09:18:57 Uhr
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 04.12.2012 aktualisiert um 11:18:18 Uhr
Goto Top
Hallo zusammen!

@Ironhead-Hayns
Versuchs mal hiermit (*.hta):

Gruß Dieter
Mitglied: TsukiSan
TsukiSan 04.12.2012 um 11:19:39 Uhr
Goto Top
Hallo Dieter,

sauber!

Gruss
Tsuki
Mitglied: 76109
76109 04.12.2012 um 11:31:10 Uhr
Goto Top
Hallo Tsuki!

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

Gruß Dieter
Mitglied: TsukiSan
TsukiSan 04.12.2012 um 11:43:43 Uhr
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
Mitglied: Ironhead-Hayns
Ironhead-Hayns 04.12.2012 um 12:59:57 Uhr
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 05.12.2012 um 00:37:32 Uhr
Goto Top
Hallo Hayns!

Freut mich, wenn's gefälltface-wink


Gruß Dieter
Mitglied: MediumWasser
MediumWasser 05.12.2012 um 07:43:49 Uhr
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 05.12.2012 aktualisiert um 10:43:08 Uhr
Goto Top
Hallo Bernd!

In etwa so (Pfade: sFileInPath und sFolderOutPath anpassen):

Gruß Dieter
Mitglied: Ironhead-Hayns
Ironhead-Hayns 05.12.2012 um 11:34:59 Uhr
Goto Top
WOW!!
den nehm ich auch!! Respekt!
Mitglied: MediumWasser
MediumWasser 05.12.2012 um 20:35:49 Uhr
Goto Top
Hallo Dieter,
Wirklich gut.

verbindlichsten Dank
Mitglied: Gurkenhobel
Gurkenhobel 29.01.2013 aktualisiert um 13:11:57 Uhr
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:



Freue mich auf Antwort
Grüße Micha
Mitglied: Gurkenhobel
Gurkenhobel 29.01.2013 um 16:55:32 Uhr
Goto Top
Hi,

nur zur Info - habe die Lösung selbst gefunden im HTML-Teil muß natürlich in Zeile 78
durch
analog zur Zeile 88 ausgetauscht werden und Zeile 61 meines Scripts muß richtig heißen
.
Dann funktionierts auch

Grüße Micha
Mitglied: 76109
76109 30.01.2013 um 00:23:26 Uhr
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:

Gruß Dieter
Mitglied: Gurkenhobel
Gurkenhobel 30.01.2013 um 11:21:53 Uhr
Goto Top
Hallo Dieter,
danke :=; ja dann nehme ich wohl
(kleiner Tibbfehler)
Gruß Micha
Mitglied: Ironhead-Hayns
Ironhead-Hayns 06.02.2013 aktualisiert um 10:56:09 Uhr
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 13.02.2013 aktualisiert um 11:50:40 Uhr
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

Gruß Dieter