beta-way-of-life
Goto Top

VB Script zu einer exe kompilieren

Hallo Leute,

nach stundenlanger Suche geb ich jetzt auf und wende mich an euch. face-smile

Ich versuche verzweifelt dieses VB Script in eine .exe zu verwandeln.

Const olByValue = 1
Const olMailItem = 0

Dim oOApp 
Dim oOMail

Set oOApp = CreateObject("Outlook.Application")  
Set oOMail = oOApp.CreateItem(olMailItem)

With oOMail
.To = "[sms:handynr]"  
.Subject = ""  
.Body = "Einer der Server hat soeben ein KRITISCHES Problem gemeldet! Detaillierte Informationen wurden Ihnen soeben per Mail geschickt!"  
.Send
End With

Wie ihr seht benötige ich ein Script das eine Mail übers Outlook versendet.......

Das ganze funktioniert so auch wunderbar.... Das Mail wird versendet und über FaxMaker wird eine SMS versendet.

Leider brauch ich eine .exe Datei und keine .vbs Datei. Damit kann die Monitoring Software nicht umgehen.....

Kann mir bitte jemand erklären wie ich das Script in eine exe verwandeln kann?
Visual Studio hab ich installiert (Testversion), nur leider hab ich keine Ahnung wie das gehen sollte.
Anscheinend muss ich das Script ja zu VB "portieren" und anschließend zu einer .exe kompilieren.

Kann mir das mal bitte jemand genau erklären?

Ich hab Visual Studio grad das erste mal offen. ;)

Danke.

mfG
Joe

Content-Key: 175002

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

Printed on: April 18, 2024 at 17:04 o'clock

Member: chavezhh
chavezhh Oct 20, 2011 at 18:26:59 (UTC)
Goto Top
hi,
studio erzeugt automatisch eine exe.
schau mal in die unterverzeichnisse von deinem script. z.b.
\bin\Debug
Member: beta-way-of-life
beta-way-of-life Oct 21, 2011 at 06:21:43 (UTC)
Goto Top
Zitat von @chavezhh:
hi,
studio erzeugt automatisch eine exe.
schau mal in die unterverzeichnisse von deinem script. z.b.
\bin\Debug

Hi,

folgender Fehler tritt auf wenn ich auf Debugen drücke:

Fehler beim Erstellen. Möchten Sie den Vorgang fortsetzen und den letzten erfolgreichen Build ausführen?

Wenn ich auf Ja Drücke:

VS kann das Debugging nicht starten, da das Debugziel "C:\User\blabla\Desktop\SMS-Versand.exe" nicht vorhanden ist. Erstellen Sie das Projekt, und wiederholen Sie den Vorgang, oder legen Sie die OutputPath- und die AssemblyName-Eigenschaft auf den richtigen Speicherort für die Zielassembly fest.

Die zweite Fehlermeldung is mir klar, da es ja noch keinen erfolgreichen Build gibt.....

Kann es sein das ich die .vbs es zuerst zu einer .vb Datei machen muss?
Wenn ja, wie?

Ich blich bei der Software nämlich genau gar nicht durch. ;)

Danke!

Gruß, Joe
Member: chavezhh
chavezhh Oct 21, 2011 at 09:40:57 (UTC)
Goto Top
Public Class frmSchleifentester

Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
Const olByValue As Integer = 1
Const olMailItem = 0
Dim oOApp
Dim oOMail
oOApp = CreateObject("Outlook.Application")
oOMail = oOApp.CreateItem(olMailItem)
With oOMail
.To = "[sms:handynr]"
.Subject = ""
.Body = "Einer der Server hat soeben ein KRITISCHES Problem gemeldet! Detaillierte Informationen wurden Ihnen soeben per Mail geschickt!"
.Send()

End With
End Sub
End Class

^^
wann soll der Code denn ausgeführt werden? Ich habe einen Button erstellt, wenn der Anwender darauf klickt, soll der Code ausgeführt werden. Der Button heißt bei mir btnStart.. das Formular heißt frmSchleifentester. Du müsstet bei dir nur die Namen anpassen. Bei mir läufts, gut gecodet!face-wink
Member: beta-way-of-life
beta-way-of-life Oct 21, 2011 at 09:44:14 (UTC)
Goto Top
Zitat von @chavezhh:
Public Class frmSchleifentester

Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
Const olByValue As Integer = 1
Const olMailItem = 0
Dim oOApp
Dim oOMail
oOApp = CreateObject("Outlook.Application")
oOMail = oOApp.CreateItem(olMailItem)
With oOMail
.To = "[sms:handynr]"
.Subject = ""
.Body = "Einer der Server hat soeben ein KRITISCHES Problem gemeldet! Detaillierte Informationen wurden Ihnen
soeben per Mail geschickt!"
.Send()

End With
End Sub
End Class

^^
wann soll der Code denn ausgeführt werden? Ich habe einen Button erstellt, wenn der Anwender darauf klickt, soll der Code
ausgeführt werden. Der Button heißt bei mir btnStart.. das Formular heißt frmSchleifentester. Du müsstet bei
dir nur die Namen anpassen. Bei mir läufts, gut gecodet!face-wink

Hi,

danke dir.
Ich brauch aber leider keinen Button. ;)

Die Mail soll einfach verschickt werden wenn die Datei geöffnet wird.
Die Datei wird bei einem Problem vom Monitoring Tool ausgeführt.....

Dann soll das Mail verschickt werden.... Ansonsten soll nichts passieren. ;)

Gruß, Joe
Member: chavezhh
chavezhh Oct 21, 2011 at 10:39:14 (UTC)
Goto Top
okay dann probiere es mal in der Konsole und speichere deine datei als .vb
in der Konsole läßt du ihn in eine *.exe Datei kompilieren "vbc dateiname.vb"


option Explicit off
option Strict off
Module abc
sub main()
Const olByValue As Integer = 1
Const olMailItem = 0
Dim oOApp
Dim oOMail
oOApp = CreateObject("Outlook.Application")
oOMail = oOApp.CreateItem(olMailItem)
With oOMail
.To = "[sms:handynr]"
.Subject = ""
.Body = "Einer der Server hat soeben ein KRITISCHES Problem gemeldet! Detaillierte Informationen wurden Ihnen soeben per Mail geschickt!"
.Send()
End With
end sub
end module

^^
ich hoffe es hilft dir? ansonsten bin ich überfragt, da ich erst seit kurzem mit dem coden angefangen habe
Member: beta-way-of-life
beta-way-of-life Oct 24, 2011 at 14:44:26 (UTC)
Goto Top
Zitat von @chavezhh:
okay dann probiere es mal in der Konsole und speichere deine datei als .vb
in der Konsole läßt du ihn in eine *.exe Datei kompilieren "vbc dateiname.vb"


option Explicit off
option Strict off
Module abc
sub main()
Const olByValue As Integer = 1
Const olMailItem = 0
Dim oOApp
Dim oOMail
oOApp = CreateObject("Outlook.Application")
oOMail = oOApp.CreateItem(olMailItem)
With oOMail
.To = "[sms:handynr]"
.Subject = ""
.Body = "Einer der Server hat soeben ein KRITISCHES Problem gemeldet! Detaillierte Informationen wurden Ihnen soeben per Mail
geschickt!"
.Send()
End With
end sub
end module

^^
ich hoffe es hilft dir? ansonsten bin ich überfragt, da ich erst seit kurzem mit dem coden angefangen habe

Hi,

Danke dir erstmal.
Ich hab jetzt im VS 2010 eine neue Kosnolenanwendung (VB) erstellt und deinen Code eingefügt.....

Wie kann ich das ganze jetzt mit dem VS kompilieren?
Wenn ich auf das Debugging starte (F5) kommt (wie oben erwähnt) "Fehler beim Erstellen."

Übrigends..... das "olByValue" nach Const gleich am Anfang ist grün unterstrichen.
Ist das normal?

Kenn mich wie gesagt leider gar nicht aus.....
Danke.

Gruß, Joe
Member: chavezhh
chavezhh Oct 25, 2011 at 04:28:20 (UTC)
Goto Top
hi,
du willst es also partout in Visual Studio kompilieren lassen?
Ich bin auf die Konsole ausgewichen, da es mir geläufiger war
Option Explicit
und
option Strict
auf "off" in der Konsole einzugeben. Option Explicit off schaltet die
Variablenüberprüfung aus. Ist eine Variable in der Größe falsch zugewiesen worden,
wird die Überprüfung beim kompilieren unterdrückt. Option Strict off schaltet
eine falsche Zuweisung aus, so kann es sein, dass man dem Programm anweist
a=b. a ist z.b. Byte.. b ist z.b. Integer. Variable a soll also den Wert von b übernehmen,
da Variable a als typ Byte nicht die ganze Integerklasse übernehmen kann, weil byte
kleiner als integer ist, meckert er herum.

Es sind kann-fehler.. diese unterdrückst du mit Option Explicit und Option Strict. Man
macht dies normalerweise nicht.. weil man Laufzeitfehler produzieren kann. Es ist
nur eine schnelle Methode oder Anfängermethode (wie bei mir) diese Fehler wegzubekommen, deshalb ist deine Const
auch gleich am Anfang grün unterstrichen.

Wie kannst du nun Option Explict und Option Scrit off setzen, damit er kompiliert?
Ich glaube, wenn du im Projektmappen-Explorer deinen Projektnamen anklickst
und mit rechter Maustaste im Kontextmenü Eigenschaften auswählst, müsstet
du dort irgendwie hingelangen. Ich kanns nur selber gerade nicht testen, da
ich am normalen User-Pc sitze
Member: chavezhh
chavezhh Oct 25, 2011 at 08:38:54 (UTC)
Goto Top
Option Explicit Off
Option Strict Off
Public Class Form1

'Module abc
Sub main()
Const olMailItem = 0
Const olByValue = 1
Dim oOApp
Dim oOMail
oOApp = CreateObject("Outlook.Application")
oOMail = oOApp.CreateItem(olMailItem)
With oOMail
.To = "[sms:handynr]"
.Subject = ""
.Body = "Einer der Server hat soeben ein KRITISCHES Problem gemeldet! Detaillierte Informationen wurden Ihnen soeben per Mail geschickt!"
.Send()
End With
End Sub
End Class
^^
so kompiliert er auch unter vb...
die unterstrichene Fehlermeldung kommt, da du die Konstante nicht weiter im Programm verwendest
Member: beta-way-of-life
beta-way-of-life Oct 27, 2011 at 12:35:00 (UTC)
Goto Top
Hi,

danke!

Funktioniert das ganze so bei dir?
Bei mir passiert nämlich nichts wenn ich die .exe ausführe. (SMS_Versand.vhost.exe) heißt die Datei die kompiliert wurde.
Wenn ich die starte passiert nichts. face-sad

Gruß, Joe
Member: chavezhh
chavezhh Oct 29, 2011 at 12:12:02 (UTC)
Goto Top
ich kriege nur die Mitteilung von Outlook, dass der Empfänger nicht erreicht wurde. Hinter deinen Code steige ich leider nicht