crashzero
Goto Top

VBS Messagebox mit OK,Drucken

Weiß jemand wie man eine VBS-Messagebox kreiert wie folgt :

Button : Abbrechen + Drucken

Wenn auf "Drucken" geklickt wird, soll eine html-Datei geöffnet werden.

Content-ID: 1743986771

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

Ausgedruckt am: 17.11.2024 um 03:11 Uhr

mbehrens
mbehrens 20.01.2022 um 16:04:52 Uhr
Goto Top
Zitat von @Crashzero:

Weiß jemand wie man eine VBS-Messagebox kreiert wie folgt :

Button : Abbrechen + Drucken

Wenn auf "Drucken" geklickt wird, soll eine html-Datei geöffnet werden.

Da wird nur selber bauen bleiben.
colinardo
colinardo 20.01.2022 aktualisiert um 16:41:13 Uhr
Goto Top
Servus,
machs doch gleich mit Powershell, aber wenns VBS sein soll, dass lässt sich damit auch verwursten wenn man unbedingt will
CreateObject("Wscript.Shell").Run "powershell -WindowStyle Hidden -EP Bypass -C iex ([System.Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('QWRkLVR5cGUgLUEgU3lzdGVtLldpbmRvd3MuRm9ybXMNCiRmb3JtID0gTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5Gb3JtIC1QIEB7Q2xpZW50U2l6ZSA9ICcxOTAsNTAnO1RleHQgPSdBYmZyYWdlJ30NCiRmb3JtLkNvbnRyb2xzLkFkZFJhbmdlKEAoDQooTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5CdXR0b24gLVAgQHsNCiAgICBUZXh0ID0gIkFiYnJlY2hlbiINCiAgICBMb2NhdGlvbiA9ICcxMCwxMCcNCiAgICBTaXplID0gJzgwLDMwJw0KICAgIGFkZF9DbGljayA9IHskZm9ybS5DbG9zZSgpfQ0KfSksDQooTmV3LU9iamVjdCBTeXN0ZW0uV2luZG93cy5Gb3Jtcy5CdXR0b24gLVAgQHsNCiAgICBUZXh0ID0gIkRydWNrZW4iDQogICAgTG9jYXRpb24gPSAnMTAwLDEwJw0KICAgIFNpemUgPSAnODAsMzAnDQogICAgYWRkX0NsaWNrID0ge3N0YXJ0ICdodHRwczovL2FkbWluaXN0cmF0b3IuZGUnfQ0KfSkpKQ0KW3ZvaWRdJGZvcm0uU2hvd0RpYWxvZygp')))",1,true  
Oder eben per HTA-Datei, aber auf den Würgekrams würde ich ehrlich gesagt nicht mehr zurückgreifen.
Das ganze als *.hta speichern, kannst du dann direkt ausführen.
<html>
<head>
<title>Abfrage</title>
<HTA:APPLICATION
  APPLICATIONNAME="Abfrage"  
  ID="AbfrageApp"  
  VERSION="1.0"  
  BORDER="thin"  
  CAPTION="yes"  
  SYSMENU="no"  
  MAXIMIZEBUTTON="no"  
  MINIMIZEBUTTON="no"  
  SCROLL="no"  
  CONTEXTMENU="no"  
  SELECTION="no"/>  
</head>
<script language="VBScript">  
	Sub Window_OnLoad
		window.resizeTo 220,90
		window.moveTo (screen.width-220)/2,(screen.height-90)/2
	End Sub
	
	Sub OpenPage(url)
		CreateObject("Wscript.Shell").Run url  
	End Sub
</script>
<style>
.btn {margin:5px;}
</style>
<body bgcolor="white">  
<input type="Button" class="btn" value="Abbrechen" onClick="window.close" /><input type="Button" class="btn" value="Drucken" onClick="OpenPage('https://administrator.de')" />  
</body>
</html>

Grüße Uwe
emeriks
Lösung emeriks 20.01.2022 um 16:21:07 Uhr
Goto Top
Hi,
rein mit VBS kann man meines Wissens keine eigenen Formulare bauen. Da ist man auf die Standard-Messageboxen angewiesen oder man greift auf andere lokal installierte Anwendungen zurück, wie Word, Excel, Outlook o.ä.

Ich habe mal sowas über den Internet Explorer erledigt. Also mit VBS einen reduzierten Internet Explorer gestartet, ohne Adressleiste, Menüleiste usw.
Diesem dann ein HTML-Doc anzeigen lassen, welches die gewünschten Aktionen ausführt.

siehe u.g. Bsp.
Da müsste man noch die anderen Buttons einbauen und die Aktivitäten darauf.
Wenn ".FullScreen = False" dann kann man das auch wie eine Messagebox aussehen lassen , mit grauem Hintergrund, wenn es sein muss, usw.

Sub MessageIE(Text)
  '"Message-Box" per Internet-Explorer  
  'Bringt den übergebenen Text mittels Internet-Explorer Rot auf Weiß zur Anzeige  
  Dim IE : Set IE = CreateObject("InternetExplorer.Application")  

  If Err.Number = 0 Then
    With IE
      .Silent = False
      .Navigate "about:Blank"  
      .FullScreen = True
      .ToolBar = False
      .RegisterAsDropTarget = False
      .AddressBar = False
      .MenuBar = False
      .ToolBar = 0
      .Visible = True
      Do Until .ReadyState = 4
        WScript.Sleep 100
      Loop
      .Document.Writeln "<html><body>"  
      .Document.Writeln "<table height=100% width=100%><tr height=100% align=""center"" valign=""middle""><td width=100%>"  
      .Document.Writeln "<font face=Tahoma size=6 color=red>"  
      .Document.Writeln Replace(Text,vbNewLine,"<br>")  
      .Document.Writeln "</font>"  
      .Document.Writeln "</td></tr></table>"  
      .Document.Writeln "</html>"  
    End With
  End If
End Sub

E.