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

Fenster per vbs ansprechen mit variablem Namen

Frage Entwicklung Batch & Shell

Mitglied: KikiMiki

KikiMiki (Level 1) - Jetzt verbinden

23.10.2009, aktualisiert 11:36 Uhr, 11182 Aufrufe, 21 Kommentare

Hallo,

gibt es einen vbs-Befehl mit dem ich ein vorhandenes Fenster aktivieren kann?
Der Name des Fensters lautet:

Bericht vom 23.10.2009

Wobei immer das aktuelle Datum drinsteht:

So sieht der Code aus:

01.
oOMail.Subject = "Automatisierter ITK-Report vom " & Date
Mitglied: bennib22
23.10.2009 um 12:41 Uhr
Hi,
Ich hab zwar kaum Ahnung von vbs aber probier mal
...Date.now
Bitte warten ..
Mitglied: KikiMiki
23.10.2009 um 12:43 Uhr
Die Datefunktion klappt ja

Es geht nur darum das Fenster über den Namen anzusprechen
Und wie mache ich das mit einem sich täglich ändernden Datum?
Bitte warten ..
Mitglied: bennib22
23.10.2009 um 13:42 Uhr
Das aktuelle Datum wird durch ".Now" angezeigt.
bin mir aber nicht sicher ob das klappt!!
wenn nicht hab ich auch keine Ahnung.

Gruß
bennib22
Bitte warten ..
Mitglied: AndreasHoster
23.10.2009 um 14:03 Uhr
Ich vermute mal, mit "aktivieren" meinst Du, dem Fenster den Focus zu geben.
In dem Fall:
01.
Set o = CreateObject("Wscript.Shell") 
02.
o.AppActivate(NameDesFensters)
Bitte warten ..
Mitglied: 76109
23.10.2009 um 14:04 Uhr
Hallo KikiMiki!

Versuchs mal mit:
01.
oOMail.Subject = "Automatisierter ITK-Report vom " & Date 
02.
oOMail.Display
Gruß Dieter
Bitte warten ..
Mitglied: KikiMiki
23.10.2009 um 14:07 Uhr
So wollte ich es lösen:

01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
WScript.Sleep 1500 
03.
WshShell.AppActivate oOMail 
04.
WScript.Sleep 1500 
05.
oOMail.display ' Fenster anzeigen 
06.
 
07.
WScript.Sleep 1500 
08.
WshShell.SendKeys("%s") ' Sende ein "Alt-S". Outlook denkt der User "sendet
Aber wenn das Skript läuft klappt der Wchsel auf das Outlook Fenster nicht jedes mal
Keine Ahnung wieso
Bitte warten ..
Mitglied: 76109
23.10.2009 um 14:13 Uhr
Hallo KikiMiki!

Vielleicht hilft Dir dieses funktionierende Beispiel weiter?
01.
    Dim appMail  
02.
     
03.
    Set appMail = CreateObject("Outlook.Application").CreateItem(0) 
04.
 
05.
    With appMail 
06.
        .Subject = "Bestellung " & Now 
07.
        .To = "Max.Mustermann@test.uk" 
08.
        .cc = "Max.Mustermann@test.uk" 
09.
        '.HTMLbody = HtmlText 
10.
        '.body = Text 
11.
        .Display 
12.
    End With 
13.
    Set appMail = Nothing
Gruß Dieter
Bitte warten ..
Mitglied: KikiMiki
23.10.2009 um 14:20 Uhr
Hi didi,

seh da keinen großen Unterschied ;)

Hier meine Funktion

01.
Dim oOApp 
02.
Dim oOMail 
03.
Dim WshShell 
04.
 
05.
Set oOApp = CreateObject("Outlook.Application") 
06.
Set oOMail = oOApp.CreateItem(olMailItem) 
07.
 
08.
oOMail.display ' Fenster anzeigen 
09.
oOMail.To = "me@me.de" 
10.
oOMail.CC = "" 
11.
oOMail.Subject = "Automatisierter Report vom " & Date 
12.
oOMail.Body = "Im Anhang befindet sich der Report"." 
13.
oOMail.Attachments.Add (SkriptPfad & "Bericht.xls"), olByValue, 1 
14.
 
15.
 
16.
 
17.
Set WshShell = WScript.CreateObject("WScript.Shell") 
18.
WScript.Sleep 1500 
19.
WshShell.AppActivate oOMail 
20.
WScript.Sleep 1500 
21.
oOMail.display ' Fenster anzeigen 
22.
WScript.Sleep 1500 
23.
WshShell.SendKeys("%s") ' Sende ein "Alt-S". Outlook denkt der User "sendet 
24.
 
Bitte warten ..
Mitglied: 76109
23.10.2009 um 14:44 Uhr
Hallo KikiMiki!

Ich sehe da schon einen Unterschied. Die Zeile 8 sollte wohl erst in Zeile 14 stehen und der Rest ganz entfallen

Gruß Dieter
Bitte warten ..
Mitglied: AndreasHoster
23.10.2009 um 14:59 Uhr
SendKeys ist des Teufels. Sollte man NIE NIE NIE verwenden, es sei denn es geht gar nicht anders und im Normalfall gehts anders.

Ich finde, es ist unlogisch codiert:
Erst Fenster aktivieren, dann den Display Befehl? Finde ich komisch, muß aber auch glücklicherweise kein Outlook verwenden.

Außerdem gibt es viele Gründe, warum SendKeys unzuverlässig ist:
Unter Last reichen eventuell die 1,5 Sekunden nicht aus, daß das Fenster schon aufgebaut und im Focus ist wenn der SendKey Befehl kommt: Eingabe geht ins Leere bzw. falsche Programm
Eventuell drängt sich in den 1,5 Sekunden ein anderes Popup/Programm in den Vordergrund: Eingabe geht ins Leere bzw. falsche Programm
Eine systemmodale Dialogbox ist offen: Eingabe geht ins Leere bzw. falsche Programm

Sendkeys auf einem Multitaskingsystem mit mehreren Programmen ist wie Roulettespielen: Man kann das richtige Programm erwischen, aber zuverlässig ist was anderes.
Bitte warten ..
Mitglied: KikiMiki
23.10.2009 um 15:05 Uhr
Habs umgestellt

Klappt leider immer noch nicht
Er will mir einfach das Outlookfenster nicht vor holen....


<code>
Dim oOApp
Dim oOMail
Dim WshShell

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


oOMail.To = "me@me.de
oOMail.CC = "he@he.de"
oOMail.Subject = "Automatisierter Report vom " & Date
oOMail.Body = "Im Anhang befindet sich der Report."
oOMail.Attachments.Add (SkriptPfad & Report.xls"), olByValue, 1
oOMail.display ' Fenster anzeigen

Set WshShell = WScript.CreateObject("WScript.Shell")

WScript.Sleep 1500

WshShell.SendKeys("%s") ' Sende ein "Alt-S". Outlook denkt der User "sendet
Bitte warten ..
Mitglied: KikiMiki
23.10.2009 um 15:07 Uhr
Hallo Adreas,

hast du eine andere Idee?
Wenn ich es nicht über sendkey mache bringt outlook eine Sicherheitswarnung wo ich jedes mal "ja" drücken muss zum zulassen


Habs umgestellt

Klappt leider immer noch nicht
Er will mir einfach das Outlookfenster nicht vor holen....


01.
Dim oOApp 
02.
Dim oOMail 
03.
Dim WshShell 
04.
 
05.
Set oOApp = CreateObject("Outlook.Application") 
06.
Set oOMail = oOApp.CreateItem(olMailItem) 
07.
 
08.
 
09.
oOMail.To = "me@me.de 
10.
oOMail.CC = "he@he.de" 
11.
oOMail.Subject = "Automatisierter Report vom " & Date 
12.
oOMail.Body = "Im Anhang befindet sich der Report." 
13.
oOMail.Attachments.Add (SkriptPfad & Report.xls"), olByValue, 1 
14.
oOMail.display ' Fenster anzeigen 
15.
 
16.
Set WshShell = WScript.CreateObject("WScript.Shell")  
17.
 
18.
WScript.Sleep 1500  
19.
 
20.
WshShell.SendKeys("%s") ' Sende ein "Alt-S". Outlook denkt der User "sendet
Bitte warten ..
Mitglied: 76109
23.10.2009 um 15:24 Uhr
Hallo KikiMiki!

Also, ich hab's mit meinem und Deinem Code getestet und funktioniert mit beiden Codes einwandfrei?

Bei Dir fehlen "-Zeichen, fehlen die im Script auch?

Gruß Dieter
Bitte warten ..
Mitglied: KikiMiki
23.10.2009 um 15:30 Uhr
Zeichen sind vollständig ;)
Bitte warten ..
Mitglied: 76109
23.10.2009 um 15:33 Uhr
Hallo AndreasHoster!

Die Display-Anweisung ist doch die Fensteraktivierung. Mail mit Daten initialisieren und dann erst anzeigen.

Ich verwende auch kein Outlook, aber zum testen reicht Outlook-Express.

Gruß Dieter
Bitte warten ..
Mitglied: 76109
23.10.2009 um 15:37 Uhr
Hallo KikiMiki!

In diesem Quelltext fehlen die Zeichen auch:

hier: oOMail.To = "me@me.de > = "me@me.de"
hier: oOMail.Attachments.Add (SkriptPfad & Report.xls"), olByValue, 1 > = & "Report.xls"

Gruß Dieter
Bitte warten ..
Mitglied: KikiMiki
23.10.2009 um 15:43 Uhr
@ Didi
Zeichen sind alle da
War nur copy-paste Fehler.....
;)

Es geht ja alles, nur Send-key nicht ;)
Bitte warten ..
Mitglied: 76109
23.10.2009 um 15:48 Uhr
Hallo KikiMiki!

Achso, stehe ich irgenwie auf der Leitung? Das anzeigen geht nur das senden nicht?

Gruß Dieter
Bitte warten ..
Mitglied: 76109
24.10.2009 um 09:45 Uhr
Hallo KikiMiki!

Wieso verwendest Du anstelle von SendKey Alt+S nicht einfach die Anweisung Send mit oder ohne Display?
01.
.Display 
02.
.Send
Gruß Dieter
Bitte warten ..
Mitglied: KikiMiki
26.10.2009 um 11:10 Uhr
Hallo Didi,

wie meinst du das?
Bitte warten ..
Mitglied: 76109
26.10.2009 um 11:55 Uhr
Hallo KikiMiki!

Mhm, wie ich das meine, sieht man doch eigentlich am letzten Code

Also, mit der Anweisung Display, wird ja Dein Mail-Fenster angezeigt und dann könntest im Fenster Deine Mail senden. Mit der zusätzlichen Send-Anweisung, wird Dein Mail-Fenster auch angezeigt und der Sendbefehl ist auch schon aktiviert. Wenn Du die Display-Anweisung weg läßt und nur die Send-Anweisung drinnen läßt, dann wird keine Mail angezeigt und nur der Sendbefehl aktiviert. Allerdings kann ich nur mit Outlook-Express testen und da muss dann nach Ablauf einer bestimmten Zeit (paar Sekunden), nochmal zusätzlich das Absenden mit Ja/Nein bestätigt werden? Keine Ahnung, wie das in Outlook gehandhabt wird? Und ob das gegebenenfalls per Einstellungen unterbunden werden kann?

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wie Device name in Variable einfügen
gelöst Frage von it-fisiBatch & Shell6 Kommentare

Hallo, ich möchte per Batch file mit ADB auf mein Android Handy zugreifen. Zur Prüfung ob die Verbindung besteht ...

Batch & Shell
Variablen von Batch zu VBS übergeben
gelöst Frage von ciejayBatch & Shell10 Kommentare

Hallo liebe Com, ich versuche mich gerade in der Batch und vbs Programmierung und bin daher sozusagen noch Anfänger. ...

Batch & Shell
Variable aus VBS in Batch einlesen
gelöst Frage von racer1601Batch & Shell4 Kommentare

Hallo ich habe das Problem das ich die Variable "Ordner" aus einem VBS Script nicht in meine Batch bekomme. ...

Batch & Shell
Datei mit Variablem namen in Variablem Verzeichnis umbenennen
Frage von PinkFLuffyUnicornBatch & Shell6 Kommentare

Moin Leute,i bims mal wieder. ich versuche nun seit ner gefühlten Ewigkeit, folgendes Script zum laufen zu bringen. es ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 8 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 15 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 TagWindows 104 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless18 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement17 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...