Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Abfrage über function bei vbs

Frage Entwicklung VB for Applications

Mitglied: RobertKa

RobertKa (Level 1) - Jetzt verbinden

22.10.2014, aktualisiert 17:26 Uhr, 1084 Aufrufe, 4 Kommentare

Hallo zusammen,

habe ein vb Script, welches je nach Aufruf verschiedene Mails verschickt. Es funktioniert also schon. Und das einwandfrei. Der Nachteil dabei ist, dass unter der jeweiligen function eine Menge jeweils gleicher Code und Text etc drinsteht. Muss ich was im Mailtext oder so ändern, muss ich das 4mal machen. Im Grunde wird ja eigentlich nur immer eine andere Mailadresse verwendet.
Jetzt hab ich mir gedacht dies wie folgt zu vereinfachen und nach der function einfach einen Parameter aufzunehmen und dann drunter mit if und else etc. das ein einem zu verarbeiten. Aber bei der Ausgabe ist sParameter immer leer. Wahrscheinlich ist es auch ganz einfach, aber ich komm nicht dahinter. Kann mir jemand sagen warum?

Vielen Dank und viele Grüße

Robert
Dim sParameter

function MailanPrivat01
sParameter = "1"
end function

function MailanPrivat02
sParameter = "2"
end function

function MailanFirma01
sParameter = "3"
end function

function MailanFirma02
sParameter = "4"
end function

MsgBox "Mail an " & sParameter, 48, "Test"
Wscript.Quit
Mitglied: colinardo
LÖSUNG 22.10.2014, aktualisiert um 17:26 Uhr
Hallo Robert,
hier ein Beispiel wie man Funktionsparameter verwenden kann:
01.
Function sendMail(intParameter) 
02.
	Dim mailto 
03.
	Select Case intParameter 
04.
		Case 1 
05.
			mailto = "mailPrivat01@domain.de" 
06.
		Case 2 
07.
			mailto = "mailPrivat02@domain.de" 
08.
		Case 3 
09.
			mailto = "mailFirma01@domain.de" 
10.
		Case 4 
11.
			mailto = "mailFirma02@domain.de" 
12.
	End Select 
13.
	'...... 
14.
	'------ Hier der Rest deiner Mail-Routine ------ 
15.
	MsgBox "Sende mail an: " & mailto 
16.
End Function 
17.
 
18.
'Sende Mail an Privat 1 
19.
sendMail 1 
20.
'Sende Mail an Privat 2 
21.
sendMail 2 
22.
'etc ....
Du kannst der Funktion auch mehrere Parameter übergeben wenn du Bedarf hast, diese werden einfach mit Komma voneinander getrennt:
01.
Function sendMail(intParameter,strSubject,strBody) 
02.
'.... 
03.
End Function 
04.
'Aufruf der Funktion mit mehreren Parametern 
05.
sendMail 1,"Betreff","Das ist ein Body-Text"
Innerhalb der Funktionen greifst du dann mit den definierten Parameternamen auf die übergebenen Werte zu.

Siehe zu Prozeduren und Funktionen auch:
http://www.html-world.de/488/prozeduren-und-funktionen/

Grüße Uwe
Bitte warten ..
Mitglied: RobertKa
22.10.2014 um 17:27 Uhr
Hallo Uwe,

besten Dank. Funktioniert einwandfrei. Wenngleich ich immer noch rätsele, warum in meiner Version sParameter immer leer war.

Jedenfalls vielen Dank und viele Grüße

Robert
Bitte warten ..
Mitglied: colinardo
22.10.2014, aktualisiert um 17:51 Uhr
Zitat von RobertKa:
Wenngleich ich immer noch rätsele, warum in meiner Version sParameter immer leer war.
Weil die Variable innerhalb der Funktion geschützt ist. D.h innerhalb des Funktionskörpers ist dies Quasi eine neue Variable die nur in der Funktion verfügbar ist, die Ursprüngliche Variable außerhalb der Funktion änderst du damit nicht.
Das kannst du aber z.B. mit einer Rückgabe des Wertes aus der Funktion ändern. Um etwas aus einer Funktion zurückzugeben weist du dem Namen der Funktionen den Wert zu,
01.
Function sendMail() 
02.
        'Wert aus der Funktion zurückgeben 
03.
	sendMail = 2 
04.
End Function 
05.
 
06.
'Funktion aufrufen und zurückgegebenen Wert der Variablen zuweisen 
07.
sParameter = sendMail 
08.
 
09.
MsgBox sParameter
Steht oben in der Referenz ...

Etwas ähnliches kannst du mit ByRef ("Referenzparameter") vor dem Parameternamen erreichen, dann wird die ursprüngliche Variable geändert.
01.
Dim sParameter 
02.
Function sendMail(ByRef sPar) 
03.
	sPar = 20 
04.
End Function 
05.
 
06.
msgbox "Parameter hat noch keinen Wert : " & sParameter 
07.
 
08.
'Funktion mit ByRef Parameter aufrufen 
09.
sendMail sParameter 
10.
 
11.
' sParameter wurde durch die Funktion geändert und hat jetzt den Wert 20 
12.
msgbox "Parameter hat nun den Wert : " & sParameter
Hoffe das hat zu deinem Verständnis beigetragen

Schönen Abend
Grüße Uwe
Bitte warten ..
Mitglied: RobertKa
22.10.2014 um 19:01 Uhr
Hallo Uwe,

ja das hat es. Danke! So etwas ähnliches hab ich mir schon gedacht.

Viele Grüße und ebenso schönen Abend.

Robert
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Abfrage function und weitergabe der Parameter
gelöst Frage von complexBatch & Shell6 Kommentare

Hallo zusammen, bin leider noch blutiger anfänger im Bereich Powershell. Zu meinem Problem: Ich möchte ein Script schreiben, dass ...

Windows Server
WMI VBS Registry Abfrage
gelöst Frage von LuciusCastusWindows Server3 Kommentare

Ich habe folgendes Problem: Für die GPO Verteilung benötige ich eine WMI Filterung von der Installation .Net v4. Ab ...

PHP
Function ereg() is deprecated
gelöst Frage von 91863PHP6 Kommentare

Hallo, ich bekomme die Meldung: Die Zeile ist Wei muss die Richtig lauten, das die das PHP kennt ? ...

PHP
Php function für Statusabfrage aus MySQL
gelöst Frage von carl7nPHP6 Kommentare

Hi, ich bringe mir gerade anhand verschiedener Webtutorials selbst PHP und MySQL bei. Das klappt grundsätzlich schon ganz gut. ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 8 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 15 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 17 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 20 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...