Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1068to1072
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
Inhaltsverzeichnis

Screenshot.Export

Screenshot.Export
16.04.2009 12:53:15
Horst
Hallo Community,
Folgendes Problem: Von einer MsgBox soll ein Screenshot produziert werden Untenstehende Prozedur (Application.Run ...) gibt eine MsgBox aus, von der automatisiert ein Screenshot per Outlook 03 versendet werden soll. Irgendwie krieg' ich das mit dem Screenshot nicht ganz auf die Reihe. Vielleicht hat jemand eine Idee.

Sub Screenshot()
Dim olApp As Object
Dim WsShell
Application.Run "Mappe1!Makro1"
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.To = "empfänger@server.de"
.CC = ""
.BCC = ""
.Subject = "test"
.htmlBody = "
Test"
.display
End With
Set WsShell = CreateObject("WScript.Shell")
WsShell.AppActivate olApp
WsShell.SendKeys ("%+^{PRTSC}")
WsShell.SendKeys ("^v")
Set WsShell = Nothing
Set olApp = Nothing
End Sub


6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Screenshot.Export
16.04.2009 13:17:14
Bertram
Hallo Horst,
einen Screenshot erstelle ich so:
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal _
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Public Sub MakeScreenshot(ByVal ActiveWindow As Boolean)
'Die nachfolgende Prozedur erstellt das Screenshot
'Der Parameter ActiveWindow legt fest, ob ein Screenshot
'für das aktuelle Fenster (True) oder für gesamten
'Windows-Desktop (False)erstellt werden soll
Const KEYEVENTF_KEYUP = &H2
Const VK_MENU = &H12
Const VK_SNAPSHOT = &H2C
If ActiveWindow Then
' Nur das aktive Fenster abfotografieren
' => Alt-Taste einbeziehen
keybd_event VK_MENU, 0, 0, 0                    ' Alt 'runter
keybd_event VK_SNAPSHOT, 0, 0, 0                ' Druck ' runter
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0  ' Druck hoch
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0      ' Alt hoch
Else
' Den gesamten Desktop abfotografieren
keybd_event VK_SNAPSHOT, 0, 0, 0                ' Druck ' runter
keybd_event VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0  ' Druck hoch
End If
DoEvents
End Sub


Gruß
Bertram

Anzeige
AW: Screenshot.Export
16.04.2009 14:52:03
Horst
Hallo Bertram!
Die Zeile mit "If ActiveWindow Then" liefert einen Fehler! Was ich gerne hätte, wäre ein Makro , dass einen Screenshot von einer MsgBox macht und diesen als Mail versendet.
AW: Screenshot.Export
17.04.2009 08:26:30
Bertram
Hallo Horst,
sorry, hatte gestern keine Zeit mehr ins Forum zu schauen.
Ich habe nochmal etwas gebastelt, aber das funktioniert nicht immer 100%ig. Keine Ahnung warum.
Ich stelle das mal ein, vielleicht weiß ein anderer warum es mal geht und mal nicht.
https://www.herber.de/bbs/user/61247.xls
Generell denke ich, dass es mit einer MsgBox nicht funktioniert, da der Code stoppt bis du OK klickst. Da solltest du dir ein UserForm basteln, das eben wie eine MsgBox aussieht und dort den Code zum Screenshot erstellen in das Klick-Ereignis packen.
Gruß
Bertram
Anzeige
AW: Screenshot.Export
17.04.2009 13:00:24
Horst
Hallo Bertram,
sowas ähnliches habe ich mir bereits selbst gebastelt, nur kommt mir der MsgBox in Zusammenhang mit "ActiveWindow" der Laufzeitfehler 438. Wie verwende ich eine UserBox als MsgBox? Eine Alternative wäre, statt einem Screenshot einfach Strg+c von der MsgBox zu machen. Dann wird zwar nur der Text kopiert, würde mir aber auch schon genügen.
AW: Screenshot.Export
18.04.2009 11:30:19
Horst
Danke! Frage bereits geklärt.
AW: Screenshot.Export
18.04.2009 11:30:24
Horst
Danke! Frage bereits geklärt.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige