AW: Bildschirm Kopie
30.04.2007 11:18:00
Bertram
Hallo Walter,
schau dir das mal an:
Sub MailMitAnhangUndScreenshotAllgemein()
Dim session As Object
Dim db As Object
Dim doc As Object
Dim EmbedObj As Object
Dim AttachME As Object
Dim Workspace As Object
Dim uidoc As Object
Set session = CreateObject("Notes.NotesSession")
Set db = session.GetDatabase("", "")
If db.IsOpen = False Then db.OPENMAIL
Set doc = db.CreateDocument
With doc
.form = "Memo"
.SendTo = "DeinEmpfänger@WoAuchImmer.de"
.Subject = "Das ist ein Test"
.Sign = "0"
.SaveMessageOnSend = True
'Der Anhang
Set AttachME = doc.CreateRichTextItem("Attachment")
Set EmbedObj = AttachME.EmbedObject(1454, "", "DeinKompletterPfadUndDatei", "")
.PostedDate = Now()
End With
'Mail in LN anzeigen zum Einfügen
Set Workspace = CreateObject("Notes.NotesUIWorkspace")
Set uidoc = Workspace.EDITDOCUMENT(True, doc)
'Den Tabllenbereich oder ScreenShot einfügen
With uidoc
.GOTOFIELD ("Body")
'Tabellenbereich
Selection.Copy 'kopiert den selektierten Teil deines aktiven Tabellenblatts in die Zwischenablage
'oder ScreenShot
Call MakeScreenshot(True)'kopiert den aktuellenBildschirm in die Zwischenablage
.Paste 'und fügt Kopiertes in die Mail ein
.Send
.Close
End With
Set EmbedObj = Nothing
Set AttachME = Nothing
Set uidoc = Nothing
Set Workspace = Nothing
Set db = Nothing
Set doc = Nothing
Set session = Nothing
End Sub
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
Hilft dir das weiter?
Gruß
Bertram