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

gelöst Outlook 2010 VBA für JPG Bilder komprimieren und Senden

Mitglied: Zunaras

Zunaras (Level 1) - Jetzt verbinden

18.09.2013 um 10:47 Uhr, 4286 Aufrufe, 15 Kommentare

Schönen guten Tag,

im Outlook 2010 kann man in der Nachricht über Datei -> Informationen -> Größe von Bildern beim senden anpassen.

Da das Umschalten bei den Mitarbeitern immer vergessen wird, wollte ich mal nachfragen, ob man das über VBA realisieren kann.
Also bei Klick auf Senden nach JPG im Anhang suchen und diese automatisch verkleinern und Nachricht absenden.

Wir arbeiten nicht mit Exchange.

Viele Grüße
Zunaras
Mitglied: colinardo
18.09.2013, aktualisiert 20.09.2013
Hallo Zunaras,
du könntest die User daran gewöhnen diese Methode anzuwenden um Bilder zu verschicken. Im Explorer > Bilder markieren > Rechtsklick auf die Bilder > Senden an > E-Mail-Empfänger. Dann müssen sie die Bildgröße im Dialog angeben bevor die Mail angezeigt wird.
Die Option die du meinst lässt sich nicht via VBA steuern, man müsste dazu dann schon z.B. eine native .NET-Bibliothek benutzen die die Bilder verkleinert und wieder an die Mail anhängt. Dazu musst du aber entweder ein Plugin schreiben oder eine COM-Bibliothek mit der entsprechenden Funktionen registrieren, oder die Windows API-Funktionen nutzen.
Werde bei Zeiten mal schauen ob sich da was dazu basteln lässt...

Grüße Uwe
Bitte warten ..
Mitglied: Zunaras
18.09.2013 um 12:21 Uhr
Hallo colinardo,

vielen Dank für die Rückmeldung.

Das mit dem "senden an" habe ich hier bereits angesprochen. Die Option hat allerdings auch wieder kleinere Probleme.
Es öffnet sich die neue Nachricht. Leider kann man dann die Anhänge nicht sehen. Die Zeile unter dem Betreff fehlt komplett, obwohl die Datei vorhanden ist. Man kann sie wieder sichtbar machen, indem man unten rechts den Personenbereich erweitert. Ich habe das bisher auf jedem Client so gesehen.
Man kann die Anhänge zur Kontrolle nicht mit einem Doppelklick oder sonst wie öffnen.
Das Nachrichten-Fenster hat Priorität. Man kommt nicht an das Hauptfenster von Outlook.
Beim Antworten einer Nachricht entfällt das "senden an".
Wenn die Nachricht verschickt wurde, landet sie in der lokalen Outlook.pst und nicht im IMAP-Konto. Selbst eine eingerichtete Regel zum automatischen Verschieben ins IMAP funktioniert nicht. Muss immer manuell geschehen.

Mehr fällt mir jetzt grad nicht ein.

Viele Grüße
Zunaras
Bitte warten ..
Mitglied: colinardo
18.09.2013, aktualisiert 25.04.2017
So, habe zum Thema mal was zusammengebaut...(funktioniert auch mit Outlook 2013)

Unten stehender Code funktioniert nur im Zusammenhang mit meinem folgendem Assembly (.NET 2.0) das ein COM-Objekt mit einer Funktion zum Ändern der Bildgröße bereitstellt.
Download des Assemblies (selbstextrahierendes RAR-Archiv mit Installationsfunktion)
  • Zuerst installiert man das Assembly als Admin - es ist ein selbsextrahierendes RAR-Archiv das nach dem entpacken fragt ob man es installieren will. (Wer mir nicht vertraut kann das Archiv mit WinRAR entpacken und findet dort den Quellcode des AutoIT-Installers - ich habe halt versucht es so einfach wie möglich für euch zu gestallten)
  • Der Code muss in Oulook im VBA-Editor (ALT-F11) in ThisOutlookSession eingefügt werden.
  • Die max. Bildgröße die die reduzierten Bilder haben sollen legt man in Zeile 4 fest. Im Beispiel werden die Bilder auf 800 Pixel verkleinert, je nachdem welche Bildseite länger ist.
Kurz zur Vorgehensweise des Scripts: Nur Attachments mit den Dateierweiterungen "jpg", "jpeg", "png", "bmp", "gif", "tiff", "tif" werden vor dem Sendevorgang in einen temporären Ordner gesichert, dann mit der benutzerdefinierten COM-Funktion verkleinert, danach die ursprünglichen Attachments entfernt (natürlich nur die Bilder andere Attachments bleiben erhalten) und die verkleinerten Bilder wieder hinzugefügt. Da beim Speichervorgang der Original-Attachments Outlook Dateireferenzen auf diese Dateien im Speicher hält, kann dieser Ordner erst beim nächsten Start von Outlook gelöscht werden. Um Duplikate in diesem Ordner zu vermeiden, werden die Dateinamen mit einem Base36 kodierten String im Dateinamen ergänzt abgespeichert.

01.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
02.
    If Item.Class = olMail Then
03.
        'Fit image in a rect of (n) pixels
04.
        IMG_FIT_PIXELS = 800
05.
        Dim objMail As MailItem, Att As Attachment, arrDel() As String, tempfolder As String, imgOrigTempFolder As String, imgResizedTempFolder As String, counter As Integer
06.
        Set fso = CreateObject("Scripting.FilesystemObject")
07.
        Set regex = CreateObject("vbscript.regexp")
08.
        regex.IgnoreCase = True
09.
        regex.Global = True
10.
        Set objMail = Item
11.
        tempfolder = Environ("Temp")
12.
        imgOrigTempFolder = tempfolder & "\img_orig"        'temp folder for original attachments
13.
        imgResizedTempFolder = tempfolder & "\img_res"      'temp folder for resized attachments
14.
        counter = 0     'counter for arrDel() Array
15.
        If objMail.Attachments.Count > 0 Then               'if there are attachments ...
16.
            'valid extensions for image resizing
17.
            arrValidExt = Array("jpg", "jpeg", "png", "bmp", "gif", "tiff", "tif")
18.
            
19.
            For Each Att In objMail.Attachments
20.
                strExt = LCase(fso.GetExtensionName(Att.FileName))  'get extension of attachment
21.
                For i = 0 To UBound(arrValidExt)
22.
                    If strExt = arrValidExt(i) Then         'if extension ist valid to be resized
23.
                        'check if attachment is normal attachment not inline
24.
                        patternFix = Replace(Att.FileName, ".", "\.", , , vbTextCompare)
25.
                        patternFix = Replace(patternFix, "[", "\[", , , vbTextCompare)
26.
                        patternFix = Replace(patternFix, "]", "\]", , , vbTextCompare)
27.
                        patternFix = Replace(patternFix, "^", "\^", , , vbTextCompare)
28.
                        patternFix = Replace(patternFix, "$", "\$", , , vbTextCompare)
29.
                        patternFix = Replace(patternFix, "+", "\+", , , vbTextCompare)
30.
                        patternFix = Replace(patternFix, "(", "\(", , , vbTextCompare)
31.
                        patternFix = Replace(patternFix, ")", "\)", , , vbTextCompare)
32.
                        regex.pattern = "<img [^>]*src=""[^""]*(" & patternFix & ")[^""]*"""
33.
                        Set myMatches = regex.Execute(objMail.HTMLBody)
34.
                        If myMatches.Count = 0 Then     'attachment ist normal attachment not inline
35.
                            'check if folders exist
36.
                            If Not fso.FolderExists(imgOrigTempFolder) Then
37.
                                MkDir (imgOrigTempFolder)
38.
                            End If
39.
                            If Not fso.FolderExists(imgResizedTempFolder) Then
40.
                                MkDir (imgResizedTempFolder)
41.
                            End If
42.
                            'assemble Paths to images in filesystem
43.
                            imgOrigPath = imgOrigTempFolder & "\" & fso.GetBaseName(Att.FileName) & "_" & tobase36(CLng((Now() - #1/1/1970#) * 86400)) & "." & strExt
44.
                            imgResizedPath = imgResizedTempFolder & "\" & Att.FileName
45.
                            'save attachment in message to filesystem
46.
                            Att.SaveAsFile (imgOrigPath)
47.
                            'Resize Image with custom function library
48.
                            Set imageResizer = CreateObject("ImageresizerCom.ImageResizerCom")
49.
                            imageResizer.ResizeImage imgOrigPath, imgResizedPath, IMG_FIT_PIXELS
50.
                            Set imageResizer = Nothing
51.
                            '-------------
52.
                            'add image name to array to delete it later
53.
                            ReDim Preserve arrDel(counter)
54.
                            arrDel(counter) = Att.FileName
55.
                            counter = counter + 1
56.
                            Exit For
57.
                        End If
58.
                    End If
59.
                Next
60.
            Next
61.
            If counter > 0 Then
62.
                'Delete the original Attachments from message
63.
                For i = 0 To UBound(arrDel)
64.
                    objMail.Attachments(arrDel(i)).Delete
65.
                Next
66.
                'add resized images as attachments
67.
                For Each file In fso.GetFolder(imgResizedTempFolder).Files
68.
                    objMail.Attachments.Add file.Path
69.
                Next
70.
                'delete folder with resized images
71.
                fso.GetFolder(imgResizedTempFolder).Delete (True)
72.
            End If
73.
            
74.
        End If
75.
        Set fso = Nothing
76.
        Set regex = Nothing
77.
    End If
78.
End Sub
79.
Function tobase36(ByVal number As Long) As String
80.
    Dim cList
81.
    cList = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
82.
    
83.
    Dim finalString As String
84.

85.
    While Not number = 0
86.
        If CInt(number Mod 36) = 0 Then
87.
            finalString = finalString & Mid(cList, CInt(number Mod 36) + 1, 1)
88.
        Else
89.
            finalString = finalString & Mid(cList, CInt(number Mod 36), 1)
90.
        End If
91.
        number = number / 36
92.
    Wend
93.
    tobase36 = finalString
94.
End Function
95.

96.
Private Sub Application_Startup()
97.
    On Error Resume Next
98.
    Set fso = CreateObject("Scripting.FilesystemObject")
99.
    tempfolder = Environ("Temp")
100.
    imgOrigTempFolder = tempfolder & "\img_orig"
101.
    If fso.FolderExists(imgOrigTempFolder) Then
102.
        fso.GetFolder(imgOrigTempFolder).Delete
103.
    End If
104.
    Set fso = Nothing
105.
End Sub
Eine Abfrage für den Benutzer ob er die Bilder verkleinert senden will habe ich noch nicht eingebaut, werde es aber bei Zeiten nachholen

Grüße Uwe
Bitte warten ..
Mitglied: Zunaras
19.09.2013 um 07:43 Uhr
Hallo colinardo,

ich muss mich bei Dir bedanken. Das ist ja echt der Hammer !
Funktioniert prima!

Beim probieren ist mir aufgefallen, das die verkleinerten JPG nicht im Temp\img_res Ordner landen, sondern im Temp. Und werden wohl dementsprechend nicht gelöscht - wenn so vorgesehen.


Viele Grüße
Zunaras
Bitte warten ..
Mitglied: colinardo
19.09.2013 um 08:20 Uhr
Zitat von Zunaras:
Hallo colinardo,
Beim probieren ist mir aufgefallen, das die verkleinerten JPG nicht im Temp\img_res Ordner landen, sondern im Temp. Und werden
wohl dementsprechend nicht gelöscht - wenn so vorgesehen.
kann aus Prinzip eigentlich nicht sein, die Variablen sind alle korrekt gesetzt! Vielleicht meinst du den "img_orig" Ordner dort landen die Originale, welche erst bei einem Neustart von Outlook gelöscht werden. Vielleicht hast du im Temp-Ordner noch alte Dateileichen liegen.
Kann dein Verhalten hier auf mehreren Systemen nicht nachvollziehen.

Grüße Uwe
Bitte warten ..
Mitglied: Zunaras
19.09.2013, aktualisiert um 09:25 Uhr
Hallo,

wenn ich in %temp% reinschaue, finde ich direkt dort die verkleinerten und versendeten jpg, Es kommen nach jedem Senden auch neue hinzu. Ich habe bislang noch keinen "img_res" Odner gefunden
Der "img_orig" Ordner existiert - bis zum nächsten Neustart von Outlook.

EDIT: Thunderbird macht das!! Ich habe von Outlook auf ein anderes Konto geschickt, das mit Thunderbird läuft. Beim Aufruf des Bildes legt TB das Bild in den %Temp% ab.
Sorry! Ist alles gut.



Jetzt habe ich eine Fehlermeldung bekommen beim versenden einer eMail, wo ich ein kleines Bild zwischen den Text eingebunden habe. Diese soll/brauch er nicht komprimieren.

Der Debugger springt hier in die 2. Zeile:
01.
            'Delete the original Attachments from message
02.
            For i = 0 To UBound(arrDel) - 1
03.
                objMail.Attachments(arrDel(i)).Delete
Grüße
Zunaras
Bitte warten ..
Mitglied: colinardo
19.09.2013, aktualisiert um 09:56 Uhr
Zitat von Zunaras:
Ich habe bislang noch keinen "img_res" Odner gefunden
Den wirst du auch nicht sehen, denn sobald die Bilder alle an die Mail angehängt wurden wird der auch sogleich wieder gelöscht, das geht sehr schnell. Dadurch das Outlook beim Anhängen der Bilder diese sowieso in einen eigenen temp-Ordner kopiert sind sie obsolet.
Jetzt habe ich eine Fehlermeldung bekommen beim versenden einer eMail, wo ich ein kleines Bild zwischen den Text eingebunden habe.
Diese soll/brauch er nicht komprimieren.
Diese Inline-Bilder werden bereits berücksichtigt und auch von der Bearbeitung ausgeschlossen.
Der Debugger springt hier in die 2. Zeile:
Stimmt da habe ich noch eine Überprüfung vergessen das überhaupt Bilder bearbeitet wurden, dadurch war das Array(arrDel) leer und es kam ein "Index out of Bounds" - habe es oben korrigiert...

Grüße Uwe
Bitte warten ..
Mitglied: Zunaras
19.09.2013 um 10:56 Uhr
Hallo,

ich bedanke mich vielmals für Deine Hilfe
Das hat mir wahnsinnig geholfen!

Viele liebe Grüße
Zunaras
Bitte warten ..
Mitglied: colinardo
19.09.2013, aktualisiert 25.04.2017
Habe den obigen Code noch robuster gemacht und noch erweitert durch einen Dialog, in dem der Nutzer die Möglichkeit hat zu bestimmen ob die Bilder reduziert werden und wenn ja, in welcher Auflösung:

bb1a22ce4132d37388a5fb26bc6a27c2 - Klicke auf das Bild, um es zu vergrößern

Den Dialog könnt Ihr hier herunterladen -> Download
Um den Dialog einzubinden, Rechtsklick im VBA-Editor auf den Knoten Formulare > Importieren... und dann die runtergeladene entpackte Datei(*.frm) auswählen.

Zusätzlich muss die folgende Variable vor alle anderen Prozeduren ganz am Anfang von "ThisOutlookSession" eingesetzt werden:
01.
Public RESIZE_RES As Long
Geänderter Code für "ThisOutlookSession"
01.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
02.
    If Item.Class = olMail Then
03.
        Dim objMail As MailItem, Att As Attachment, arrFiles() As String, tempfolder As String, imgOrigTempFolder As String, imgResizedTempFolder As String, counter As Integer
04.
        Set fso = CreateObject("Scripting.FilesystemObject")
05.
        Set regex = CreateObject("vbscript.regexp")
06.
        regex.IgnoreCase = True
07.
        regex.Global = True
08.
        Set objMail = Item
09.
        tempfolder = Environ("Temp")
10.
        imgOrigTempFolder = tempfolder & "\img_orig"        'temp folder for original attachments
11.
        imgResizedTempFolder = tempfolder & "\img_res"      'temp folder for resized attachments
12.
        counter = 0     'counter for arrFiles() Array
13.
        If objMail.Attachments.Count > 0 Then               'if there are attachments ...
14.
            'valid extensions for image resizing
15.
            arrValidExt = Array("jpg", "jpeg", "png", "bmp", "gif", "tiff", "tif")
16.

17.
            For Each Att In objMail.Attachments
18.
                strExt = LCase(fso.GetExtensionName(Att.FileName))  'get extension of attachment
19.
                For i = 0 To UBound(arrValidExt)
20.
                    If strExt = arrValidExt(i) Then         'if extension ist valid to be resized
21.
                        'check if attachment is normal attachment not inline
22.
                        patternFix = Replace(Att.FileName, ".", "\.", , , vbTextCompare)
23.
                        patternFix = Replace(patternFix, "[", "\[", , , vbTextCompare)
24.
                        patternFix = Replace(patternFix, "]", "\]", , , vbTextCompare)
25.
                        patternFix = Replace(patternFix, "^", "\^", , , vbTextCompare)
26.
                        patternFix = Replace(patternFix, "$", "\$", , , vbTextCompare)
27.
                        patternFix = Replace(patternFix, "+", "\+", , , vbTextCompare)
28.
                        patternFix = Replace(patternFix, "(", "\(", , , vbTextCompare)
29.
                        patternFix = Replace(patternFix, ")", "\)", , , vbTextCompare)
30.
                        regex.pattern = "<img [^>]*src=""[^""]*(" & patternFix & ")[^""]*"""
31.
                        Set myMatches = regex.Execute(objMail.HTMLBody)
32.
                        If myMatches.Count = 0 Then     'attachment ist normal attachment not inline
33.
                            ReDim Preserve arrFiles(counter)
34.
                            arrFiles(counter) = Att.FileName
35.
                            counter = counter + 1
36.
                            Exit For
37.
                        End If
38.
                    End If
39.
                Next
40.
            Next
41.
            
42.
            If counter > 0 Then
43.
                formResizeImages.Show   'show dialog to choose resolution
44.
                If RESIZE_RES > 0 Then  'check resolution from dialog
45.
                    'check if folders exist
46.
                    If Not fso.FolderExists(imgOrigTempFolder) Then
47.
                        MkDir (imgOrigTempFolder)
48.
                    End If
49.
                    If Not fso.FolderExists(imgResizedTempFolder) Then
50.
                        MkDir (imgResizedTempFolder)
51.
                    Else
52.
                        If fso.GetFolder(imgResizedTempFolder).Files.Count > 0 Then
53.
                            fso.GetFolder(imgResizedTempFolder).Delete (True)
54.
                        End If
55.
                        MkDir (imgResizedTempFolder)
56.
                    End If
57.
                    
58.
                    'Resize Images
59.
                    Set imageResizer = CreateObject("ImageresizerCom.ImageResizerCom")
60.
                    For i = 0 To UBound(arrFiles)
61.
                        'assemble Paths to images in filesystem
62.
                        imgOrigPath = imgOrigTempFolder & "\" & fso.GetBaseName(arrFiles(i)) & "_" & tobase36(CLng((Now() - #1/1/1970#) * 86400)) & "." & LCase(fso.GetExtensionName(arrFiles(i)))
63.
                        imgResizedPath = imgResizedTempFolder & "\" & arrFiles(i)
64.
                        'save attachment in message to filesystem
65.
                        objMail.Attachments(arrFiles(i)).SaveAsFile (imgOrigPath)
66.
                        'Resize Image with custom function library
67.
                        imageResizer.ResizeImage imgOrigPath, imgResizedPath, RESIZE_RES
68.
                    Next
69.
                    Set imageResizer = Nothing
70.
                     'Delete the original Attachments from message
71.
                    For i = 0 To UBound(arrFiles)
72.
                        objMail.Attachments(arrFiles(i)).Delete
73.
                    Next
74.
                    're-add resized images as attachments
75.
                    For Each file In fso.GetFolder(imgResizedTempFolder).Files
76.
                        objMail.Attachments.Add file.Path
77.
                    Next
78.
                    'delete folder with resized images
79.
                    fso.GetFolder(imgResizedTempFolder).Delete (True)
80.
                End If
81.
            End If
82.

83.
        End If
84.
        Set fso = Nothing
85.
        Set regex = Nothing
86.
    End If
87.
End Sub
88.
Function tobase36(ByVal number As Long) As String
89.
    Dim cList
90.
    cList = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
91.

92.
    Dim finalString As String
93.

94.
    While Not number = 0
95.
        If CInt(number Mod 36) = 0 Then
96.
            finalString = finalString & Mid(cList, CInt(number Mod 36) + 1, 1)
97.
        Else
98.
            finalString = finalString & Mid(cList, CInt(number Mod 36), 1)
99.
        End If
100.
        number = number / 36
101.
    Wend
102.
    tobase36 = finalString
103.
End Function
104.

105.
Private Sub Application_Startup()
106.
    On Error Resume Next
107.
    Set fso = CreateObject("Scripting.FilesystemObject")
108.
    tempfolder = Environ("Temp")
109.
    imgOrigTempFolder = tempfolder & "\img_orig"
110.
    If fso.FolderExists(imgOrigTempFolder) Then
111.
        fso.GetFolder(imgOrigTempFolder).Delete
112.
    End If
113.
    Set fso = Nothing
114.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: Zunaras
19.09.2013 um 15:57 Uhr
Hallo nochmal und vielen Dank!

Wenn ich die Bilder als Originale senden möchte kommt ein Fehler.

Der Debugger springt in die 2. Zeile.

01.
Private Sub btnSendOriginals_Click()
02.
    ThisOutlookSession.RESIZE_RES = 0
03.
    Me.Hide
04.
End Sub
Grüße
Zunaras
Bitte warten ..
Mitglied: colinardo
19.09.2013, aktualisiert um 16:02 Uhr
dann hast du die zusätzliche öffentliche Variable :
Public RESIZE_RES As Long
nicht ganz an den Anfang von "ThisOutlookSession" eingefügt...(am besten in die erste Zeile) diese muss vor allen anderen Prozeduren stehen
und danach mal ein Neustart von Outlook.

Grüße Uwe
Bitte warten ..
Mitglied: Zunaras
20.09.2013 um 08:53 Uhr
Hallo,

hm. Schau mal bitte das Bild. Ist das so nicht richtig?

6dacf5f5dc95bd3a306d2c7973b9b01d - Klicke auf das Bild, um es zu vergrößern

Grüß
Zunaras
Bitte warten ..
Mitglied: colinardo
20.09.2013 um 09:34 Uhr
Ahhh, ich sehe deine Session heißt nicht "ThisOutlookSession" sondern "DieseOutlookSitzung" dann müssen diese beiden Prozeduren in der Form so heißen:
01.
Private Sub btnSendOriginals_Click()
02.
    DieseOutlookSitzung.RESIZE_RES = 0
03.
    Me.Hide
04.
End Sub
05.

06.
Private Sub btnSendReduced_Click()
07.
    DieseOutlookSitzung.RESIZE_RES = Val(comboFormats.Value)
08.
    Me.Hide
09.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: Zunaras
20.09.2013 um 10:05 Uhr
Das ist es gewesen. Funktioniert prima!

Ich danke Dir nochmals viele Male und wünsche ein schönes Wochenende.

Viele Grüße
Zunaras
Bitte warten ..
Mitglied: Zunaras
01.06.2018 um 10:28 Uhr
Hallo colinardo,

ich hoffe, ich darf meinen alten Betrag noch mal benutzen und Du liest das hier.

Und zwar bin ich vor einigen Wochen auf Outlook 2016 umgestiegen. Solange der Code im Projekt vorhanden ist, verhält sich Outlook etwas merkwürdig.
Das Bilder verkleinern funktioniert erst nach dem zweiten oder dritten Versuch. Sowie dasselbe beim Löschen von Anhängen. Beim Beantworten von eMail wird nicht immer im Posteingang vermerkt, dass hierauf geantwortet wurde (kein Hinweistext und Symbol). Auch das Verschieben der eMail in einen anderen Ordner funktioniert manchmal nicht, und es kommt ein Hinweis, weil die Nachricht angeblich verändert wurde.

Bei den Verweisen habe ich folgendes aktiviert.
screenshot (29) - Klicke auf das Bild, um es zu vergrößern

Ist hier ein Anpassung gegen eine Spende möglich?

siehe auch https://www.administrator.de/forum/bilder-pst-empfang-verkleinern-223063 ...

Viele Grüße
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Syntaxfehler VBA Access 2010
gelöst Frage von Dr.CornwallisDatenbanken6 Kommentare

Liebe Gemeinde, ich habe (schon wieder) einen Fehler im Code und ich komm einfach nicht drauf warum es nicht ...

Outlook & Mail

Illegale email-Absender mit VBa Script erfassen (Outlook 2010)

gelöst Frage von HScomputerOutlook & Mail12 Kommentare

Hallo, seit einiger Zeit gibt es wieder vermehrt Spammer, die mit Absender-Adressen wie Admin@vonwoauch.immer@sonstwo.her arbeiten, welche sich z.B. mit ...

VB for Applications

Excel-VBA nach Word-VBA übersetzen (V. 2010)

gelöst Frage von spinnifexVB for Applications2 Kommentare

Hallo Admins, wie kann ich folgendes XL-Makro nach Word übersetzen, wobei die Zelladresse "A1" als Textmarke "Anzahl" angesprochen werden ...

Exchange Server

"Send on Behalf anstelle" von "Send as"

gelöst Frage von arduinoExchange Server3 Kommentare

Hallo Wir haben auf unserem Exchange 2010 verschiedene Shared Mailboxen, die von Usern mit der Send-as Berechtigung genutzt werden. ...

Neue Wissensbeiträge
Windows 10

"Windows 10 Pro V1903: Gruppenrichtlinie "Telemetrie zulassen" aktivierbar?"

Tipp von Snowbird vor 8 StundenWindows 101 Kommentar

Sicherheits-Tools

TrendMicro Worry-Free Business Security 10.0 SP1 - Jetzt in Deutsch verfügbar! (Windows 10 1903 Support)

Tipp von TrinXx vor 1 TagSicherheits-Tools1 Kommentar

Moin! Nach wochenlangem Warten wird Trend Micro das SP1 für WFBS 10 voraussichtlich am 26.08.19 veröffentlichen. Ich habe das ...

Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 3 TagenHyper-V7 Kommentare

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 3 TagenServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Heiß diskutierte Inhalte
Server
Ein Server ins Haus stellen. Was brauche ich dafür?
Frage von JoschiTomServer15 Kommentare

Hallo Community, ich spiele mit dem Gedanken eine Server mir zu holen. Was brauche ich dafür? Und wie sind ...

LAN, WAN, Wireless
Mikrotik Gast-Wlan keine Verbindung zum Internet?
Frage von dirkschwarzLAN, WAN, Wireless11 Kommentare

Guten Morgen, habe ein wahrscheinlich einfaches Problem, bei dem ich aber nicht wirklich weiter komme Ich möchte ein Gast-Wlan ...

Batch & Shell
Mittels SED Text ersetzen in Anführungszeichen
gelöst Frage von nekronBatch & Shell9 Kommentare

Moin … bin nicht wirklich der SED/regex Mensch, vielleicht kann mir jemand auf die Schnelle Helfen :) ich habe ...

Router & Routing
Eu-Domain von Rechnern nicht, vom Handy aber (im selben Netzwerk) schon erreichbar
gelöst Frage von mary-louRouter & Routing6 Kommentare

Hallo! Für ein gemeinnütziges StartUp haben wir zwei Domains, beide liegen bei whois.com: - unseredomain.eu - unseredomain-europe.org Bislang wurde ...