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

Mitglied: KikiMiki

KikiMiki (Level 1) - Jetzt verbinden

23.10.2009, aktualisiert 11:36 Uhr, 11491 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

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 ...

VB for Applications

VBS: Unterordner gleichen Namens verschieben

gelöst Frage von GurkenhobelVB for Applications3 Kommentare

Hallo Gemeinde, Ich habe auf einem Laufwerk 12 Unterordner (Januar Dezember) die wiederum jeweils sieben Unterordner (Montag Sonntag) umfassen ...

Neue Wissensbeiträge
Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 6 StundenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 7 StundenSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 10 StundenMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 1 TagWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

Heiß diskutierte Inhalte
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...