Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Outlook Sendmal Rückfrage immer im Vordergrund wie

Outlook Sendmal Rückfrage immer im Vordergrund wie
26.07.2004 22:13:40
Brian
Hallo zusammen
Ich habe ein Makro erstellt, welches über Sendmail eine Mail in Outlook versendet. Nun kommt ja bei Outlook dann jeweils die Warnmeldung. Das ist auch noch gut so, aber viele Anwender klicken anstelle auf diese Schalfläche 'JA' irgendwo im Bildschirm, dann hängt die Meldung im Hintergrund und die Anwender denken ... oje jetzt ist das Makro abgestürzt und beginnen wie wild zu klicken, beenden Excel über den Task-Manager oder schalten ihn sogar aus.
Kennt jemand von Euch eine Möglichkeit, wie man diese Meldung immer im Vordergrund halten kann? Das die Meldung an und für sich kommt, ist ok, denn ich habe eine Rückmeldung an das Makro wenn nein gedrückt wurde, wird die Ausführung abgebrochen.
Herzlichen Dank schon mal

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Outlook Sendmal Rückfrage immer im Vordergrund wie
the
versuchs mal mit alt - tabulator, so kannst du problemlos zwischen allen offenen tasks wechseln
AW: Outlook Sendmal Rückfrage immer im Vordergrund wie
26.07.2004 23:06:23
Björn
Hallo Brian,
das Ganze sieht mir eher wie ein Outlook-Problem aus. Da die Meldung aber programmintern von Outlook veranlasst wird, fürchte ich, dass es dort keine Einflussmöglichkeit gibt.
Gruß
Björn
AW: Outlook Sendmal Rückfrage immer im Vordergrund wie
26.07.2004 23:13:56
Nepumuk
Hallo Brian,
das dürfte kein Problem sein, aber ich will jetzt in mein Bett.
Bis morgen,
Gruß
Nepumuk
AW: Outlook Sendmal Rückfrage immer im Vordergrund wie
27.07.2004 19:27:38
Nepumuk
Hallo Brian,
jetzt habe ich Zeit. Immer noch interessiert?
Gruß
Nepumuk
AW: Outlook Sendmal Rückfrage immer im Vordergrund wie
27.07.2004 22:48:22
Brian
Hallo zusammen
Erstmals besten Dank an the brain, Björn B. und Nepumuk.
Ja Nepumuk, bin grundsätzlich noch immer interessiert, denn es wäre eventuell auch für andere Zwecke nützlich zu wissen und wenn es für dich nicht mit allzugrossem aufwand verbunden ist.
Da es sich um eine outlook meldung handelt, habe ich es jetzt mal in excel mit einem infofenster gelöst, dass immer im vordergrund bleibt und bestätigt werden muss. In diesen fenster wird dem benützer mitgeteilt, dass eine sicherheits-rückfrage von outlook folgt und er dieses fenster über die taskleiste öffnen und bestätigen muss.
Aber wie gesagt das outlook fenster immer im vordergrund zu behalten wäre natürlich komfortabler.
Anzeige
AW: Outlook Sendmal Rückfrage immer im Vordergrund wie
28.07.2004 17:02:19
Nepumuk
Hallo Brian,
dein Programm ist fertig. Das ganze ist in eine kleine .exe gepackt, die kurz vor dem senden der Mail aufgerufen wird. Wie der Aufruf erfolgt, entnimmst du der folgenden Testroutine. Den Pfad in der API - Funktion "ShellExecute" musst du natürlich noch anpassen.


Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongByVal lpOperation As StringByVal lpFile As StringByVal lpParameters As StringByVal lpDirectory As StringByVal lpnShowCmd As LongAs Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Public Sub test1()
    Dim myOutlookApplication As New Outlook.Application
    Dim myMail As Outlook.MailItem
    ShellExecute FindWindow("xlMain", vbNullString), "OPEN", "WindowPos.exe", "", "C:\Dokumente und Einstellungen\Administrator\Desktop\", 0
    Set myMail = myOutlookApplication.CreateItem(olMailItem)
    myMail.To = "x@y"
    myMail.CC = "y@x"
    myMail.Subject = "Neuer Dateneingang am " & Now
    myMail.HTMLBody = "Siehe Protokoll:  <a href=" & Chr(34) & "file:///" & ThisWorkbook.Name & Chr(34) & ">EINGANG-Protokoll</a>"
    On Error Resume Next
    myMail.Send
    MsgBox IIf(Err.Number = 0, "Erfolgreich", "Nicht") & " gesendet.", 48, "Hinweis"
End Sub


Das Programm der .exe beinhaltet folgenden Code:


Option Explicit
Private Declare Function GetWindow Lib "User32" (ByVal hWnd As LongByVal wCmd As LongAs Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As LongByVal wIndx As LongAs Long
Private Declare Function GetWindowTextLength Lib "User32" Alias "GetWindowTextLengthA" (ByVal hWnd As LongAs Long
Private Declare Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hWnd As LongByVal lpString As StringByVal cch As LongAs Long
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Private Declare Function SetWindowPos Lib "User32" (ByVal hWnd As LongByVal hWndInsertAfter As LongByVal As LongByVal As LongByVal cx As LongByVal cy As LongByVal wFlags As LongAs Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Const GW_HWNDFIRST = 0
Private Const GW_HWNDNEXT = 2
Private Const GWL_STYLE = -16
Private Const WS_VISIBLE = &H10000000
Private Const WS_BORDER = &H800000
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40
Public Sub Main()
    Dim hWnd As Long, sTitle As String, lStyle As Long, lngZeile As Long, intindex As Integer
    For intindex = 1 To 50
        hWnd = GetWindow(FindWindow(vbNullString, vbNullString), GW_HWNDFIRST)
        Do
            lStyle = GetWindowLong(hWnd, GWL_STYLE) And (WS_VISIBLE Or WS_BORDER)
            sTitle = GetWindowTitle(hWnd)
            If (lStyle = (WS_VISIBLE Or WS_BORDER)) = True And Trim(sTitle) = "Microsoft Outlook" Then
                SetWindowPos hWnd, -1, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
                Exit Sub
            End If
            hWnd = GetWindow(hWnd, GW_HWNDNEXT)
        Loop Until hWnd = 0
        Sleep 100
    Next
End Sub
Private Function GetWindowTitle(ByVal hWnd As LongAs String
    Dim lResult As Long, sTemp As String
    lResult = GetWindowTextLength(hWnd) + 1
    sTemp = Space(lResult)
    lResult = GetWindowText(hWnd, sTemp, lResult)
    GetWindowTitle = Left(sTemp, Len(sTemp) - 1)
End Function


Hier der Link zum downloaden: https://www.herber.de/bbs/user/9012.zip
Das Programm läuft rund 5 Sekunden, bevor es sich selbst beendet. In dieser Zeit sollte es das Fenster gefunden und in den Vordergrund gesetzt haben.
Gruß
Nepumuk
Anzeige
AW: Outlook Sendmal Rückfrage immer im Vordergrund wie
Brian
Hallo Nepumuk
Wollte mich bei dir noch ganz herzlich für das Tool bedanken. Läuft einwandfrei. Merci!

260 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige