IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Outlook Discussion :

Tâches outlook : copier le corps d'une tâche ".Body" dans le logiciel open office calc [OL-2003]


Sujet :

VBA Outlook

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Tâches outlook : copier le corps d'une tâche ".Body" dans le logiciel open office calc
    Bonjour à tous.

    Pouvez-vous m'aiguiller sur la construction d'une macro car je travaille avec les tâches outlook et je voudrais copier le corps d'une tâche dans le logiciel OO calc pour récupérer les infos et compléter un imprimé.

    Concernant les tâches dans le forum, je n'ai trouvé que des codes qui créent de nouvelles tâches, mais aucun code qui me permette de copier

    ci-dessous le type d'infos que je dois copier :Nom : corps de la tâche.png
Affichages : 414
Taille : 10,7 Ko


    concernant le fonctionnement de la macro :
    je pars d'une tâche déjà ouverte et je sélectionne la plage à copier
    c'est ensuite que la macro peut commencer
    - copier la sélection
    - ouvrir un fichier open office calc "D:\Users\TT\Documents\trames.ods"
    Ensuite je pourrais lancer une autre macro d'open office pour faire ma fusion avec une trame pré-faite.

    C'est un projet pour mon travail et ce sont les logiciels qui sont à ma disposition.
    Je vous remercie de l'aide que vous voudrez bien m'accorder.
    Thérèse

  2. #2
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    Voici quelques pistes car je n'ai pas la solution.
    Apparemment tu peux piloter OPEN OFFICE depuis VBA, ici un tutoriel avec Excel (pour outlook ce sera presque pareil)
    tu peux aussi consulter la faq

    Coté OUTLOOK on utilise les fonctions VBA de WORD avec WORDEDITOR (à partir de WORD 2007 )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Copy_wordeditor()
     
        Dim outlookwordeditor
        Dim appOutlook As Outlook.Application
        Dim oMail 'As Outlook.MailItem
        Dim ObjwdSelection
     
        ' Set appOutlook = CreateObject("Outlook.Application")
        Set appOutlook = Application
        Set oMail = appOutlook.ActiveInspector.CurrentItem
        Set outlookwordeditor = oMail.GetInspector.WordEditor
     
        'ICI on utilise les intructions WORD précédée de outlookwordeditor.
        Set ObjwdSelection = outlookwordeditor.Application.Selection
        ObjwdSelection.Copy
     
    End Sub
    Pour OL2003 c'est plus compliqué, cela dépend si WORD est l'éditeur de Mail par défaut ou non.

    Par contre, si ce que tu dois récupérer est toujours le Tableau contenu dans le corps d'un Mail avec UN RAPPEL tu peux le rechercher dans le .HTMLBODY

    Ci-dessous un exemple à lancer à partir de EXCEL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Sub Copy_tableau_html()
    'Nécessite d 'activer les references
        'Microsoft HTML Objects Library
     
    Dim maPageHtml As New HTMLDocument
    Dim Htable As IHTMLElementCollection
    Dim maTable As IHTMLTable
    Dim j As Integer, i As Integer
    Dim Cible As String
     
    Set appOutlook = CreateObject("Outlook.Application")
    'Set appOutlook = Application ' si macro dans OUTLOOK
    Set oMail = appOutlook.ActiveInspector.CurrentItem
     
     
    maPageHtml.body.innerHTML = oMail.HTMLBody
    'objet type table
    Set Htable = maPageHtml.getElementsByTagName("table")
    'premier tableau dans la page Web
    Set maTable = Htable(0)
     
    'boucle sur toutes les lignes du tableau
    For i = 1 To maTable.Rows.Length
        'boucle sur les cellules dans chaque ligne
        For j = 1 To maTable.Rows(i - 1).Cells.Length
     
            Cible = maTable.Rows(i - 1).Cells(j - 1).innerHTML
     
            If Left(Cible, 8) = "<A href=" Then
                ActiveSheet.Hyperlinks.Add Cells(i, j), Mid(Cible, 10, InStr(10, Cible, ">") - 11)
            Else
                Cells(i, j) = maTable.Rows(i - 1).Cells(j - 1).innerText
            End If
        Next j
    Next i
    End Sub

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Bonsoir
    MERCI de t'être penché sur la question et de me donner des pistes.
    Je vais tester tout cela et essayer de progresser dans ma macro
    et te tiens au courant.

    Bonne soirée
    Thérèse

  4. #4
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    ES TU SURE d'UTILISER OUTLOOK 2003 ? parce qu'il ne me semblait pas qu'on puisse avoir du texte formaté dans une Tache avec cette version

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut C'est la difficulté des versions
    J'ai fait mes tâches au travail avec outlook 2010, mais comme je n'ai pas le temps d'avancer sur la macro au travail, chez moi je n'ai qu'outlook 2003. Voilà pourquoi. J'ai un peu avancé, mais pas suffisamment pour voir ce que ça donne. Difficile de conjuguer travail et mise en place de nouvelles procédures. Bonne soirée

  6. #6
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Bonjour,
    Attention car Outlook 2003 et outlook 2010 n'offrent âs du tout les mêmes possibilités de programmation. Je te conseil de faire tes macros sur la version qui va les utiliser.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2012
    Messages : 15
    Points : 10
    Points
    10
    Par défaut ça fonctionne" Résolu"
    Bonjour Oliv-
    Merci pour toutes les infos,
    Evidemment je vais tester sur outlook 2010 et faire les modifications nécessaires.
    Pour la version 2003, avec ton aide :
    "Avant d'utiliser la macro, je sélectionne le texte de ma tâche et la copie dans le presse papier"
    La macro ouvre open office calc et colle les informations qu'elle a dans le presse papier.
    Ensuite je continue mon développement sur OOCalc.
    voilà ce que ça donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Sub copiedansNouveauDocumentCalc()
    'ouvre un nouveau document OOcalc et copie ce qu'il y a en mémoire machine
        Dim oServiceManager As Object, oDispatcher As Object
        Dim Desktop As Object, Document As Object
        Dim args()
     
        'Création d'une instance Open Office
        Set oServiceManager = CreateObject("com.sun.star.serviceManager")
        Set Desktop = oServiceManager.createInstance("com.sun.star.frame.Desktop")
     
        'Création d'un nouveau document Calc
        Set Document = Desktop.loadComponentFromURL("private:factory/scalc", "_blank", 0, args)
     
        'Collage dans Open Office Calc
        Set oDispatcher = oServiceManager.createInstance("com.sun.star.frame.DispatchHelper")
        oDispatcher.executeDispatch Document.currentController.frame, ".uno:Paste", "", 0, Array()
     
       End Sub
    Je pense que j'aurai d'autres questions, mais pour ce sujet, la tâche est résolue.
    MERCI
    therese067117

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Outlook] Créer une tâche
    Par comode dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/06/2010, 15h17
  2. Création d'une tâche outlook depuis Excel en vba
    Par allimannp dans le forum VBA Outlook
    Réponses: 2
    Dernier message: 21/01/2009, 15h04
  3. Créer une tâche Outlook à partir d'un chiffrier excel
    Par mfmf99 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/10/2008, 16h03
  4. Créer une tâche Outlook grâce à VB Script
    Par timhost dans le forum VBScript
    Réponses: 2
    Dernier message: 30/08/2007, 14h10
  5. Créer une Tâche Outlook avec ASP
    Par Hamdi dans le forum ASP
    Réponses: 3
    Dernier message: 04/04/2006, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo