Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Die Anzahl der Elemente, die gleichzeitig geöffnet werden können, wurde vom Serveradministrator begrenzt...

Frage Entwicklung Visual Studio

Mitglied: ahstax

ahstax (Level 2) - Jetzt verbinden

19.08.2013 um 12:56 Uhr, 3583 Aufrufe, 5 Kommentare, 2 Danke

Hallo,

ich möchte aus einem öffentlichen Exchange-Ordner die Position der letzten, von meinem Programm bearbeiteten Mail/Item herausfinden. Dazu verwende ich folgenden Code:

01.
 Public Sub SucheLetzteBearbeiteteMail() 
02.
 
03.
        Cursor = Cursors.WaitCursor 
04.
 
05.
        txtBxVerlaufAktualisieren("* Suche nach letzter bearbeiteten Mail, bitte warten...") 
06.
 
07.
        'objApplication = New Microsoft.Office.Interop.Outlook.Application() 
08.
        'objNamespace = objApplication.GetNamespace("MAPI") 
09.
        'objUeberwachterOrdner = objNamespace.Folders("Öffentliche Ordner - " & strPrimarySmtpAddress).Folders.....Item("FolderName") 
10.
 
11.
        intAnzahlMails = objUeberwachterOrdner.Items.Count 
12.
        
13.
        For m As Integer = 1 To 200 
14.
 
15.
            If objUeberwachterOrdner.Items.Item(m).EntryID = strFobjLastMailItemEntryID Then 
16.
 
17.
                bolGefunden = True 
18.
                intPosLetzteMail = m 
19.
                m = 200 
20.
                
21.
                txtBxVerlaufAktualisieren("  ** Letzte bearbeitete Mail an Position " & intPosLetzteMail & " gefunden") 
22.
            Else 
23.
                'MsgBox("nicht unter den ersten " & m & " Mails") 
24.
 
25.
            End If 
26.
 
27.
        Next 
28.
 
29.
        If bolGefunden = False Then 
30.
            txtBxVerlaufAktualisieren("  ** Letzte bearbeitete Mail nicht gefunden.") 
31.
        End If 
32.
 
33.
            txtBxVerlaufAktualisieren("* Suche nach letzter bearbeiteten Mail beendet.") 
34.
 
35.
            Cursor = Cursors.Default 
36.
 
37.
    End Sub
Das ist vermutlich nicht die eleganteste Möglichkeit, funktioniert aber soweit...
BIS AUF... wenn ich hier:

01.
 For m As Integer = 1 To 200
eine höhere Zahl als 200 vorgebe, erhalte ich die Meldung
"Die Anzahl der Elemente, die gleichzeitig geöffnet werden können, wurde vom Serveradministrator begrenzt..."
Wie kann ich das vermeiden, ohne die Anzahl der Elemente, die gleichzeitig geöffnet werden können erhöhen zu müssen?

Einiges hab ich schon ausprobiert, z.B.

01.
objUeberwachterOrdner = nothing 
02.
objUeberwachterOrdner = objNamespace.Folders("Öffentliche Ordner - " & strPrimarySmtpAddress).Folders.....Item("FolderName")
01.
objUeberwachterOrdner.Items.item(m).close() 
02.
objUeberwachterOrdner.Items.item(m).dispose()
Aber das war wohl der falsche Ansatz...


Neugierige Grüße,
Andreas
Mitglied: colinardo
21.08.2013, aktualisiert um 12:18 Uhr
Hallo Andreas,
kann zwar gerade nicht an einem Exchange testen, aber du könntest versuchen mit zwei verschachtelten Schleifen zu arbeiten. Dabei wird die Gesamtanzahl der Mails durch 200 geteilt und die innere Schleife arbeitet dann immer nur 200 Mails hintereinander ab. solange bis alle Mails abgearbeitet wurden. Der Rest der Division durch 200 wird dann am Ende noch abgearbeitet.
Eventuell bringt das was, musst du testen.

01.
intAnzahlMails = objUeberwachterOrdner.Items.Count 
02.
intT = Int(intAnzahlMails / 200) 
03.
intRest = intAnzahlMails Mod 200 
04.
found = False 
05.
For i = 1 To intT 
06.
	If found = True Then  
07.
		Exit For 
08.
	End If 
09.
	n = (i * 200 )+1  
10.
	For y = n To (n+200)-1 
11.
		If checkMail(y) Then 
12.
			intPosLetzteMail = y 
13.
			found = True 
14.
			Exit For 
15.
		End If 
16.
	Next 
17.
	if i = intT and intRest <> 0 then 
18.
		for y = n To (n+intRest) 
19.
			If checkMail(y) Then 
20.
				intPosLetzteMail = y 
21.
				found = True 
22.
				Exit For 
23.
			End If 
24.
		next 
25.
	end if 
26.
Next 
27.
 
28.
if found then 
29.
	txtBxVerlaufAktualisieren("  ** Letzte bearbeitete Mail an Position " & intPosLetzteMail & " gefunden") 
30.
else 
31.
	txtBxVerlaufAktualisieren("  ** Letzte bearbeitete Mail nicht gefunden.")  
32.
End if 
33.
 
34.
 
35.
Function checkMail(pos) 
36.
	 
37.
    If objUeberwachterOrdner.Items.Item(pos).EntryID = strFobjLastMailItemEntryID Then 
38.
	checkMail = True 
39.
    Else 
40.
        checkmail = False 
41.
    End If 
42.
End Function
Alternativ könntest du mal mit einer for each -Schleife arbeiten und dann die Mails anhand der EntryID der Mail identifizieren.

Grüße Uwe
Bitte warten ..
Mitglied: ahstax
22.08.2013 um 14:07 Uhr
Hallo Uwe,

Danke für Deine Antwort!

Schleife in Schleife hab ich schon probiert, brachte leider auch nichts...

For Each hab ich noch nicht probiert. Kann man da ne Reihenfolge vorgeben? Bezüglich der E-Mails also ausgehend von der Jüngsten älter werdend?

Grüße,
Andreas
Bitte warten ..
Mitglied: colinardo
22.08.2013, aktualisiert um 14:16 Uhr
Zitat von ahstax:
For Each hab ich noch nicht probiert. Kann man da ne Reihenfolge vorgeben? Bezüglich der E-Mails also ausgehend von der
Jüngsten älter werdend?
nein, deshalb hatte ich geschrieben das du zur eindeutigen Identifizierung der Mail die Eigenschaft "EntryID" des MailItems benutzt. Dies ist eine eindeutige Kennung die für jede Nachricht in Outlook unterschiedlich ist.

Grüße Uwe
Bitte warten ..
Mitglied: ahstax
09.09.2013 um 14:20 Uhr
Hallo,

ich habe es nun mit zwei Schleifen gelöst. Die erste ist eine For Each, die zweite eine For mit Zähler. Funktioniert. Keine Ahnung warum. Passt aber so...!
Danke für die Hilfe!!!
Bitte warten ..
Mitglied: pfefferb
02.12.2014 um 09:44 Uhr
Hi!
Ich stehe nun vor dem gleichen Problem... habe aber keine Ahnung, wie die Lösung mit einer For-Each-Schleife und einer Zählerschleife aussehen könnte. Könntest Du den Code dazu posten? Das ware sehr hilfreich!
Grüße
Pfeffer
Bitte warten ..
Ähnliche Inhalte
C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

JavaScript
gelöst Per JavaScript ein ID-Element schließen (9)

Frage von Peter32 zum Thema JavaScript ...

JavaScript
gelöst Per URL ein Element ausblenden (1)

Frage von Peter32 zum Thema JavaScript ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows Server
Upgrade von Win Server 2008 auf 2012 gescheitert (19)

Frage von Ghost108 zum Thema Windows Server ...