2010-10-21 31 views
1

Actuellement, mon code VBA crée un fichier unique pour chaque note. Voici quelques exemples de code simplifié:Création d'un seul fichier à partir de plusieurs notes dans Outlook VBA

Sub saveNotes() 
    Set myNote = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderNotes) 
    For ibi = 1 To myNote.Items.Count 
    fname = myNote.Items(ibi).Subject 
    myNote.Items(ibi).SaveAs "C:\Temp\" & fname & ".txt", 0 
    Next 
End Sub 

Au lieu de créer un fichier unique pour chaque note, je veux créer un fichier unique pour toutes les notes. Je suis à la recherche de la méthode la plus efficace pour concaténer le contenu de ces notes et les écrire dans un seul fichier.

Pour vous donner une idée de la quantité de données et de son efficacité, il existe des centaines de notes d'une taille moyenne de 1024 caractères.

Répondre

2

Ce code va ouvrir un fichier texte pour la sortie et écrire l'heure et le corps modifiés de chaque note dans le fichier texte. Le fichier se trouvera dans votre dossier Mes documents et s'appellera AllNotesYYYYMMDD.txt. Vous pouvez modifier ce chemin en fonction de votre système d'exploitation et de l'endroit où vous voulez stocker le fichier.

Sub SaveNotes() 

    Dim fNotes As MAPIFolder 
    Dim ni As NoteItem 
    Dim sFile As String 
    Dim lFile As Long 

    Set fNotes = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderNotes) 
    lFile = FreeFile 
    sFile = Environ$("USERPROFILE") & "\My Documents\AllNotes" & Format(Date, "yyyymmdd") & ".txt" 

    Open sFile For Output As lFile 

    For Each ni In fNotes.Items 
     Print #lFile, "Modified:" & vbTab & ni.LastModificationTime & vbNewLine & ni.Body 
     Print #lFile, "-------------------------------" 
    Next ni 

    Close lFile 

End Sub 
+0

Bah! Je devrais ajouter que si vous avez quelque chose dans votre dossier note qui n'est pas un NoteItem, vous obtiendrez une erreur. –

+0

Vous ne pouvez avoir que des notes dans un dossier Notes. Si vous faites glisser un autre type d'élément dans le dossier Notes, vous le verrez se transformer en un élément NoteItem. – JimmyPena