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

Per VBA Größe der .pst-Datei ermitteln - wie gehts schneller?

Mitglied: steini01

steini01 (Level 1) - Jetzt verbinden

03.01.2006, aktualisiert 04.01.2006, 10643 Aufrufe, 8 Kommentare

Hallo alle zusammen,

In unserer Firma gibt es User, die es immer wieder schaffen, Ihre .pst Dateien über die 2GB-Grenze hinaus aufzublähen.
Das bedeutet für mich jedesmal eine doch recht langwierige und lästige Reparatur mit den Tools "PST2GB" und "SCANPST" (von dem jeweiligen Datenverlust mal ganz abzusehen).
Also hab ich mir überlegt, ich schreibe ein kleines Makro, welches beim Start von Outlook dem Benutzer beim überschreiten der Größe von 1,5GB seiner .pst Datei eine entsprechende Meldung ausgibt.
Soweit - so Gut, leider konnte ich im Outlook-VBA keine Methode finden, welche mir die Gesamtgröße der Persönlichen Ordner-Datei ausgibt. D.h. ich ermittle jetzt über eine Rekursion die Größen aller einzelnen Unterordner und addiere diese dann zusammen. Hier mal mein Code:

Dim lTotalSize As Long

Private Sub Application_Startup()
ListAllFolders
End Sub


Function FolderSize(objFolder As MAPIFolder) As Long
Dim i As Long
Dim lSize As Long

With objFolder.Items
For i = 1 To .Count
lSize = lSize + .Item(i).Size
Next i

' Rückgabe in Bytes
FolderSize = lSize
End With
End Function


Sub ListAllFolders()
Dim olNS As NameSpace
Dim iTotalSize As Integer
lTotalSize = 0
Set olNS = Application.GetNamespace("MAPI")
ListFolder olNS.Folders, 0

'Ausgabe der gesamten Ordnergröße in MB
iTotalSize = Int(lTotalSize / 1024 / 1024)

'Wenn Datei > ~1,5GB dann Warnmeldung ausgeben
If iTotalSize > 1500 Then
MsgBox "Die Gesamtgröße der Persönlichen Ordner-Datei" & _
" beträgt: " & vbCrLf & CStr(iTotalSize) & " MB"
End If
End Sub


Sub ListFolder(parentfolder As Folders, i As Integer)
Dim olFold As MAPIFolder
Dim lSingleSize As Long

For Each olFold In parentfolder

'Ordnergröße ermitteln
lSingleSize = lSingleSize + FolderSize(olFold)
ListFolder olFold.Folders, i + 1
DoEventsNext

'Ordnergröße zur Gesamtgröße addieren
lTotalSize = lTotalSize + lSingleSize
End Sub


Das Ganze funktioniert soweit auch ganz gut, aber bei entsprechend vielen Unterordnern bzw. Dateigröße kann die Abarbeitung schon mal etwas dauern.
Damit wären wir auch bei meiner Frage: Kennt vielleicht jemand eine andere (schnellere) Möglichkeit, die Größe der Persönlichen Ordner-Datei per VBA zu ermitteln?

Schon mal vielen Dank im voraus.

Gruß steini.
Mitglied: wiri
03.01.2006 um 16:05 Uhr
hi
liegen die Postfächer auf einem Exchangeserver?
wenn ja mach es dir doch einfacher:
-lege eine Speicherbegrenzung auf die Postfächer
-baue dir ein Script welches dir direkt vom Exchangedbs die größen liefert
dies könnte ich dir zu mailen. )

cu
willi
Bitte warten ..
Mitglied: Biber
03.01.2006 um 17:09 Uhr
Moin steini,

schließe mich inhaltlich verkehrsberuhigt an: ich würde als Strategie wählen, irgendjemand zu fragen, der die Gesamtgröße der *.pst-Datei schon griffbereit hat, so wie in dem angegebenen Link der DIR-Befehl.

Dieses Zusammenstoppeln der Einzel-Ordnergrößen kann nicht der schnellste Weg sein.

Als reine VBA-Outlookvariante würde ich folgende Skizze nehmen:
- Ermitteln der "Persönlichen-Ordner"-Dateinamen/Speicherorte über Outlook
- dann über FileSystemObject-Funktionen in diesen Ordner auf dieses File-Object
- .FileSize abgreifen
- Feddich

Hat gegenüber der DIR-über-die-ganze-Platte-Mimik drei Vorteile:
a) Performanzvorteile
b) Du hast explizit nur die PST-Datei des angemeldeten Users bzw. Profils
c) Du hast kein Theater mit "langen" Byte-Angaben - der Command-Interpreter kann eben nur mit Zahlen < 10 GigaByte rechnen.

Details gerne bei Bedarf.
HTH Biber

@wiri:
Deine Variante fände ich auch von Allgemein-Interesse.
Wäre das Skript zu lang, um es hier zu posten?
Bitte warten ..
Mitglied: wiri
03.01.2006 um 17:31 Uhr
hi biber
dat Zeug könnte ich hier posten, kann ich aber erst diese Tage.
Bitte warten ..
Mitglied: Biber
03.01.2006 um 21:33 Uhr
@wiri
Danke, wiri... ist ja nix Eiliges...
Vielleicht können wir dann mal so ein "Größe der *.pst-Datei ermitteln"-Tutorial zusammenschreddern mit allen denkbaren Szenarios (lokal, Benutzerbezogen, auf dem Exchange-Server).
Diese uneinsichtigen User hören ja doch nicht auf, mehr zu mailen als M$ verkraftet... bleibt ja doch an uns hängen.

Gruß Biber
Bitte warten ..
Mitglied: steini01
04.01.2006 um 07:44 Uhr
Hallo zusammen,

vielen Dank für die Antworten!
Also die Dateien liegen im Netzwerk auf dem Fileserver (kein Exchange Server).
Ich werde mal die Variante über das FileSystemObject ausprobieren, komme warscheinlich aber erst nächste Woch dazu
Ich werde dann nochmals Rückmeldung geben, schaue aber zwischenzeitlich immer mal wieder hier rein bzgl. des Scripts von Wiri.
Also nochmals vielen Dank an alle die sich Gedanken gemacht haben.

Gruß steini.
Bitte warten ..
Mitglied: steini01
04.01.2006 um 11:51 Uhr
Hallo nochmal,

warum das Rad neu erfinden, wenns doch das meiste schon fertig gibt?
Ich habe unter folgendem Link einen entsprechenden Codeschnipsel gefunden und auf meine Bedürfnisse angepasst:

http://www.outlookcode.com/codedetail.aspx?id=680

Funktioniert fantastisch, und sogar mit UNC-Notation für nicht verbundene Netzlaufwerke.
Evtl. solltet Ihr das in Euer Tutorial mit aufnehmen, ich bin ja schließlich nicht der erste mit so einem Problem.
Nochmals vielen Dank.

Man liest sich,
Gruß steini.
Bitte warten ..
Mitglied: Biber
04.01.2006 um 17:18 Uhr
Danke, steini,

finde ich die richtige Einstellung, nicht jedes Rad neu erfinden zu wollen...
Deshalb habe ich mich auch gestern auf die oben genannten Stichworte beschränkt.

Mit dem Tutorial - ich glaube, das gehen wir erst an, wenn sich diese Punkte-Jieperei ein bisschen gelegt hat.. oder wir melden uns unter einem neuen Account "admin-teamwork" neu an.
Sonst fangen wiri, Du und ich auch noch an, uns um die Viertelpunkte zu balgen

Grüße Biber
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail

Outlook PST datei zu groß wie sichern

gelöst Frage von chaos2goOutlook & Mail17 Kommentare

Hey guys, es geht um Outlook 2003 und Windows 7 folgendes Problem Chef zieht auf einen neuen Laptop nun ...

Microsoft Office

VBA - aktuelle Kalenderwoche ermitteln

gelöst Frage von Ghost108Microsoft Office3 Kommentare

Hallo zusammen, wie kann ich mit Hilfe von VBA die Kalenderwoche des aktuellen Datums ermitteln?

Visual Studio

Prozedur zu groß VBA

Frage von peterchen1976Visual Studio2 Kommentare

Hallo ich habe ein Exel in welches ich eine sehr sehr lange Prozedur reinschreibe dann bekomme ich den Fehler: ...

Exchange Server

Maximale Größe einer pst für Exchange Online

Frage von Patrick91Exchange Server10 Kommentare

Guten Morgen, ich habe mir jetzt echt einen Wolf gesucht Zur Frage: Kann jemand mit gewissheit sagen, wie groß ...

Neue Wissensbeiträge
Administrator.de Feedback

Entwicklertagebuch: Datenschutzerklärung nach DS-GVO

Information von admtech vor 1 StundeAdministrator.de Feedback

Hallo Administrator User, Wir respektieren eure Privatsphäre und möchten euch daher auf die Möglichkeiten für den Umgang mit euren ...

Voice over IP

Rufnummernblock aufbrechen nun möglich bei DTAG

Tipp von Datenreise vor 5 StundenVoice over IP

Bei der Telekom ist es seit einigen Tagen laut Aussage der Geschäftskunden-Hotline möglich, eine Rufnummernübernahme auch dann durchzuführen, wenn ...

Netzwerke
Riesiges Botnetz in Deutschland
Tipp von FFSephiroth vor 7 StundenNetzwerke1 Kommentar

Überprüft mal eure Router und NAS

Soziale Netzwerke

Freitag, der 25.05 - Facebook baut weltgrößtes P.ähm Antip.archiv der Welt auf

Information von certifiedit.net vor 8 StundenSoziale Netzwerke3 Kommentare

Guten Morgen, da fragt man sich doch allen ernstes, was Facebook damit bezwecken möchte, ich tippe ja darauf, dass ...

Heiß diskutierte Inhalte
HTML
Link nicht vollständig
Frage von jensgebkenHTML33 Kommentare

Hallo Gemeinschaft, ich erstelle mit Word einen Serienbrief, den ich per Mail versende. Nun mein Problem der Wordserienbrief holt ...

Datenschutz
E-Mail Verschlüsselung DSGVO 2018
gelöst Frage von SoccerdeluxDatenschutz33 Kommentare

Hallo zusammen, ich verzweifele langsam und wende mich an euch und hoffe vielleicht ein paar Antworten zu finden. Ich ...

Server-Hardware
HPE DL 360e GEN8 - P420 - Lüfter drehen auf nach Festplattenwechsel
Frage von maniacmacpainServer-Hardware20 Kommentare

Hallo, ich kenne den Effekt, dass man bei der GEN8 von HP ein Array eingerichtet haben muss, damit die ...

Server-Hardware
ILO4 auf HP DL20 Gen9 deaktivieren
Frage von it-fraggleServer-Hardware16 Kommentare

Hallo, es ist zum verrückt werden. Auf dem Server lässt sich iLO nicht abschalten. Das Problem hatte ich schon ...