Clever-Excel-Forum

Normale Version: E-Mail Ablage
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallöchen,

statt
Dim olMapiFolder As olMapiFolderlook.MAPIFolder
bitte
Dim olMapiFolder As Outlook.MAPIFolder
Hallo!

(26.10.2018, 16:56)lukas-2000 schrieb: [ -> ][...] als PDF [...]
Email ausdrucken - Teil 1. In diesem Workshop zeige ich auf wie man Emails über Word drucken kann. Anstelle von "PrintOut" musst Du ExportAsFixedFormat einsetzen.

Gruß, René
Halmi

danke für Eure Antworten!

Zu André:
Ich habe den Code entsprechend angepasst, jedoch bleibt es bei der Stelle: ,,Set olMapiFolder = GetObject("", "olMapiFolderlook.Application").GetNamespace("Mapi"). GetDefaultFolder(olFolderInbox).Folders("TEST")" wieder stehen.
Ich kann mir vorstellen, dass dies eventuell an der Namensberzeichnung vom Ordner und seiner Position liegt. Der Name des zu löschenden Ordners ist ,,TEST", wie oben, allerdings befindetet sich dieser in einem Unterordner. Kann es daran liegen? Zudem gibt es an der Sache noch ein Problem, wenn der Ordner fest definiert werden muss. Ich wollte das ganze eigentlich variabel halten, also so, dass der Aktuell angewählte Ordner(der in dem man sich befindet) für den Löschvorgang ausgewählt wird.
Hast du da auch noch eine Idee, wie man das Problem beheben könnte?

Zu René:
Danke, dass du das alte Thema nochmal aufgreifst. Allerdings verstehe ich das nicht ganz so. Muss ich in dem folgendem Code einfach "PrintOut" durch ExportAsFixedFormat mit den dazugehörigen angaben ersetzen? Ich habe das mal durch Klammern ([[ ]]) gekennzeichnet. [url=https://msdn.microsoft.com/de-de/vba/word-vba/articles/document-exportasfixedformat-method-word][/url]
Code:
Option Private Module
Option Explicit
Public Sub PrintAPageFromEmail(Optional wdPrintOut As Boolean = True, _
                              Optional printCopies As Integer = 1, _
                              Optional startPage As String = "1", _
                              Optional endPage As String = "1", _
                              Optional closeDoc As Boolean = True, _
                              Optional quitWDApp As Boolean = True, _
                              Optional wdPrintAll As Boolean = False, _
                              Optional wdPrinter As String)                                                       
Dim Ins            As Outlook.Inspector
Dim obj            As Outlook.MailItem
Dim wdApp          As Word.Application
Dim wdDoc          As Word.Document
Dim wdRange        As Word.Range
Dim wdOldPrinter   As String
Select Case True
       Case TypeOf Application.ActiveWindow Is Outlook.Inspector
            Set obj = Application.ActiveInspector.CurrentItem
       Case Else
            With Application.ActiveExplorer.Selection
                 If .Count Then Set obj = .Item(1)
            End With
                If obj Is Nothing Then Exit Sub
End Select
Set Ins = obj.GetInspector
Set wdDoc = Ins.WordEditor
Set wdRange = wdDoc.Range
   wdRange.WholeStory
   wdRange.Copy
Set wdApp = New Word.Application
    With wdApp
        .Visible = True
        wdOldPrinter = .ActivePrinter
        If wdPrinter <> "" Then .ActivePrinter = wdPrinter
        .Documents.Add
         With .ActiveDocument          
           If Not wdDoc Is Nothing Then
              .PageSetup.RightMargin = 42.55
              .PageSetup.LeftMargin = 42.55
              .PageSetup.TopMargin = 70.85
              .PageSetup.BottomMargin = 56.7
           End If
              .Range(0, 0).Paste
           If wdPrintOut Then
            If wdPrintAll Then
             [[ .PrintOut copies:=printCopies ]]
            Else
             [[[ .PrintOut copies:=printCopies, Range:=wdPrintFromTo, _
                        From:=CStr(startPage), To:=CStr(endPage) ]]]
            End If
           End If
           If closeDoc Then
              .Close SaveChanges:=False
           End If
         End With
        .ActivePrinter = wdOldPrinter
      If quitWDApp Then
        .Quit
      End If
    End With
End Sub

Gruß Lukas
(06.11.2018, 19:10)lukas-2000 schrieb: [ -> ]Muss ich in dem folgendem Code einfach "PrintOut" durch ExportAsFixedFormat mit den dazugehörigen angaben ersetzen?[/code]
Genau so muss es ein.
Hallöchen,


olMapiFolderlook.Application

musst Du bei getobject... durch Outlook.Application ersetzen.
Hallo,

Zitat:schauan

olMapiFolderlook.Application

musst Du bei getobject... durch Outlook.Application ersetzen.

ich habe den Code wie von dir beschrieben angepasst. Allerdings bekomme ich jetzt einen Laufzeitfehler und es bleibt an der selben Stelle stehen. Mein aktueller Code sieht so aus:
Code:
Sub Items_loeschen()
'Variablendeklarationen
Dim olMapiFolder As Outlook.MAPIFolder
Dim objItem As Object
Dim iCnt As Integer
'Ordnerobject setzen
Set olMapiFolder = GetObject("", "Outlook.Application").GetNamespace("Mapi"). _
   GetDefaultFolder(olFolderInbox).Folders("TEST")
'Schleife ueber alle Elemente des Ordners
For iCnt = olMapiFolder.objItems.Count To 1 Step -1
   'Element loeschen
   olMapiFolder.objItems(iCnt).Delete
'Ende Schleife ueber alle Elemente des Ordners
Next
End Sub


Zitat:mumpel

Genau so muss es sein

Alles klar, Dankeschön.


Gruß Lukas
Hallo Lukas,

schwere Geburt, keine Ahnung, was diesmal bei mir los war  :22: So kenn ich mich gar nicht …  :77:  Aber jetzt. Musst nur noch den Ordner anpassen.

Code:
Sub Items_loeschen()
'Variablendeklarationen
Dim olMapiFolder As Outlook.MAPIFolder
Dim iCnt As Integer
'Ordnerobject setzen
Set olMapiFolder = GetObject("", "Outlook.Application").GetNamespace("Mapi"). _
  GetDefaultFolder(olFolderInbox).Folders("TEST_P")
'Schleife ueber alle Elemente des Ordners
For iCnt = olMapiFolder.Items.Count To 1 Step -1
  'Element loeschen
  olMapiFolder.Items(iCnt).Delete
'Ende Schleife ueber alle Elemente des Ordners
Next
End Sub
Hallo André,

ich weiß auch nicht was da los ist. Aber es funktioniert immer noch nicht. Huh Ich habe den Code jetzt 1:1 übernommen und den zu löschenden Ordner ,,TEST_P" genannt. Dennoch tritt eine Fehlermeldung auf.

Hier mal ein Bild:

Dateien bitte im Forum hochladen - https://www.clever-excel-forum.de/thread-326.html

Ich hoffe du kannst so besser nachvollziehen, woran es liegen kann.

Gruß Lukas
Hallo Lukas,

lade deinen ScrShot bitte im Forum hoch - siehe Kommentar in deinem Beitrag.
Hallo Lukas,

oder Du schreibst mal auf, wie der Fehler lautet und in welcher Zeile er auftritt ...
Seiten: 1 2 3