cbli
Goto Top

Text Datei im MSGBOX Fenster ausgeben,bevor VB Script mit eigentlicher Arbeit beginnt

Ich habe mit Hilfe einiger findiger User hier, es geschafft ein Script zu schreiben welches Registry Werte ändert. Das Script läuft auch wunderbar.
Um das Ganze noch komfortabler zu machen habe ich 3 Fragen


1. Wie kann ich beschreibenden Text als MSGBOX Fenster anzeigen lassen ohne den
ganzen Text in das Script zu schreiben ?
Quelle kann z.B eine TXT Datei sein.

2. falls 1. funktioniert, wie kann ich das MSGBOX Fenster automatisch nach einer
bestimmten Zeit durch einen Timer schließen lassen , wenn z.b der OK Button
nicht gedrückt wird.

3. Wie kann ich bei einer Input Box auf das Drücken der Buttons abfragen ?
z.B ob vbOK oder vbCancel gedrückt wurden
Ich will eigentlich erreichen,daß wenn bei einer Input Box der OK Button gedrückt
wurde und noch nichts in das Eingabefeld eingegeben wurde, eine Fehlermeldung
ala "Das Eingabefeld darf nicht leer sein" angezeigt wird.

Vielen Dank

Gruß
Claus

Content-Key: 69660

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

Printed on: April 16, 2024 at 21:04 o'clock

Member: bastla
bastla Sep 27, 2007 at 16:03:06 (UTC)
Goto Top
Hallo cbli!

Zu 1. und 2.:
sInfoText = "D:\Info.txt"  
sTitel = "Fenstertitel"  
iSek = 5 'Anzeigedauer in Sekunden  

Set WshShell = WScript.CreateObject("WScript.Shell")  
Set fso = CreateObject("Scripting.FileSystemObject")  
sText = fso.OpenTextFile(sInfoText, 1).ReadAll

WshShell.Popup sText, iSek, sTitel, vbInformation

Zu 3. fällt mir leider nix ein, da die Function "InputBox()" ja nur ein Ergebnis (den eingegebenen Text bzw "") zurückliefern kann.

Grüße
bastla
Member: cbli
cbli Sep 27, 2007 at 17:08:21 (UTC)
Goto Top
Hallo cbli!

Zu 1. und 2.:
sInfoText =
> "D:\Info.txt"  
> sTitel = "Fenstertitel"  
> iSek = 5 'Anzeigedauer in Sekunden  
> 
> Set WshShell =
> WScript.CreateObject("WScript.Shell")  
> Set fso =
> CreateObject("Scripting.FileSystemObject")  
> sText = fso.OpenTextFile(sInfoText,
> 1).ReadAll
> 
> WshShell.Popup sText, iSek, sTitel,
> vbInformation
> 

Zu 3. fällt mir leider nix ein, da die
Function "InputBox()" ja
nur ein Ergebnis (den
eingegebenen Text bzw "")
zurückliefern kann.

Grüße
bastla

Funktioniert bis auf 1 Sache bombastisch gut.
Sobald das Fenster geschlossen wird geht es in meinem Script mit einer Inputbox weiter.
Diese bekommt jedoch nicht automatisch den Fokus und ich muss Sie erst in den Vordergrund holen per mausklick oder tastatur.
Klicke ich auf OK oder rechts oben im Fenster auf x geht es wunderbar
Kann man das automatisieren ?

Noch ne kleine Frage:
Könnte man deinen Code auch in ein Script einbauen in dem der Text als msgbox schon im Script hinterlegt ist ?
Vielen Dank für deine Hilfe.

Gruß
Claus
Member: bastla
bastla Sep 27, 2007 at 17:21:51 (UTC)
Goto Top
Hallo cbli!

Könnte man deinen Code auch in ein Script einbauen in dem der Text als msgbox schon im Script hinterlegt ist ?
Da der Text aus der Variablen "sText" genommen wird, müsstest Du vorweg einfach eine Zuweisung der Art
sText = "Mein auszugebender Text ..."  
vornehmen. Im Übrigen kannst Du natürlich auch einer MsgBox auf diese Weise einen Text übergeben, also:
MsgBox sText

Zum Thema "verlorener Fokus" muss ich mich erst mal schlau machen ...

Grüße
bastla
Member: cbli
cbli Sep 27, 2007 at 18:07:03 (UTC)
Goto Top
Zum Thema "verlorener Fokus" muss
ich mich erst mal schlau machen ...



Was für ein Service hier. Unglaublich.

Vielen, Vielen Dank schon mal im Vorraus.

Gruß
Claus

PS: Nochmals Dank an dich Bastla