Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

E-Mail Ablage
#11
Hallöchen,

statt
Dim olMapiFolder As olMapiFolderlook.MAPIFolder
bitte
Dim olMapiFolder As Outlook.MAPIFolder
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#12
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é
Antwortento top
#13
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
Antwortento top
#14
(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.
Antwortento top
#15
Hallöchen,


olMapiFolderlook.Application

musst Du bei getobject... durch Outlook.Application ersetzen.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#16
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
Antwortento top
#17
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
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#18
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
Antwortento top
#19
Hallo Lukas,

lade deinen ScrShot bitte im Forum hoch - siehe Kommentar in deinem Beitrag.
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) www.sprueche-zum-nachdenken.eu
Antwortento top
#20
Hallo Lukas,

oder Du schreibst mal auf, wie der Fehler lautet und in welcher Zeile er auftritt ...
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste