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-ID: 175002

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

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

chavezhh
chavezhh 20.10.2011 um 20:26:59 Uhr
Goto Top
hi,
studio erzeugt automatisch eine exe.
schau mal in die unterverzeichnisse von deinem script. z.b.
\bin\Debug
beta-way-of-life
beta-way-of-life 21.10.2011 um 08:21:43 Uhr
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
chavezhh
chavezhh 21.10.2011 um 11:40:57 Uhr
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
beta-way-of-life
beta-way-of-life 21.10.2011 um 11:44:14 Uhr
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
chavezhh
chavezhh 21.10.2011 um 12:39:14 Uhr
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
beta-way-of-life
beta-way-of-life 24.10.2011 um 16:44:26 Uhr
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
chavezhh
chavezhh 25.10.2011 um 06:28:20 Uhr
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
chavezhh
chavezhh 25.10.2011 um 10:38:54 Uhr
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
beta-way-of-life
beta-way-of-life 27.10.2011 um 14:35:00 Uhr
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
chavezhh
chavezhh 29.10.2011 um 14:12:02 Uhr
Goto Top
ich kriege nur die Mitteilung von Outlook, dass der Empfänger nicht erreicht wurde. Hinter deinen Code steige ich leider nicht