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

VB.NET Discussion :

Outlook - créer une tache [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Par défaut Outlook - créer une tache
    Bonjour à tous

    J'utilise actuellement VB.net 2010 et le pack office 2010.
    Je me demande si l'on peut à partir de VB.net créer une tache (pour un rappel) dans outlook.

    Ensuite je voudrais faire la même chose pour un autre compte de messagerie.
    Nous avons actuellement dans l'entreprise un serveur exchange pour les messageries.

    Le but de tout ça c'est que l'on m'a demandé de développer sous vb une application qui regroupera les actions commerciales.
    Le commercial aurait la possibilité de donner des actions à certaines personnes. Pour que l'information arrive à la ou aux personne(s) concernée(s), je pensais remplir la liste des taches d'outlook de chaque personne et y mettre un rappel, un commentaire et un date d'échéance.

    Est-ce que quelqu'un a déjà fait ça? Est-ce possible ?
    Sinon auriez vous des liens de tutos ?
    Merci

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    avec l'interop office il est possible de manipuler les applications de la suite office (qui doit être installée sur le poste)

    il faut ajouter les dll en référence dans ton projet, tu trouveras surement des tutos là dessus
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Par défaut
    Bonsoir Merci pour ta réponse.

    J'ai mis dans tête de mon module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports Microsoft.Office.Interop.Outlook
    Est-ce que la dll correspondante est : Microsoft.Office.Interop.Outlook.dll

    Est-ce que je dans la mettre avec mon executable sur le pc utilisateur. N'est-elle pas déjà présente si outlook est déjà installé sur le pc utilisateur ?

    J'ai déjà fais une recherche sur le web, mais je ne trouve pas beaucoup tutos. Je tombe souvent sur du VBA. C'est pour ça que je me suis tourné vers developpez.com

    Je sais qu'il faut que j'utilise la class TaskItem, mais pas grand chose de plus.
    Je vais continuer à chercher et si je trouve je viendrai remettre quelque lien.

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    la dll ca doit etre ca
    pour le déploiement toutes les dll se trouvant dans bin\release doivent être livrées à côté de l'exe

    le modèle objet d'office est le même que dans vba
    à l'époque où j'avais de l'interop excel à faire, j’enregistrais une macro dans excel de ce que je voulais faire, puis je récupérais le code vba généré pour le mettre dans vb.net (peu de modifications à faire)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Par défaut
    Bon j'ai réussi à créer ma première tache outlook via vb.net

    voici le code que j'ai utilisé. En fait c'est tout simple :

    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
    Imports Microsoft.Office.Interop.Outlook
    Imports System.Reflection
     
    Public Class Form1
     
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
     
            ' Creation d'une application Outlook.
            Dim oApp As Application = New Application()
     
            ' Creation d'une nouvelle taches.
            Dim oAppt As TaskItem = oApp.CreateItem(OlItemType.olTaskItem)
     
            ' Paramètre de la taches.
            oAppt.StartDate = DateTimePicker1.Value  'Date de début
            oAppt.DueDate = DateTimePicker2.Value   'Date d'échéance
            oAppt.Subject = "Test de création de taches"  'Objet de la tache
            oAppt.Body = "Ceci est le corp du message"      'Corp de la tache
     
            oAppt.ReminderSet = True                        'Rappel à vrai
            oAppt.ReminderTime = DateTimePicker3.Value      'Date du rappel
     
     
            oAppt.Save() 'sauvegarde de la taches
     
            'initialisation de la tache
            oApp = Nothing
            oAppt = Nothing
     
        End Sub
     
     
    End Class
    Deuxième étape, je voudrais que la tache que je crée se retrouve dans les taches d'une personne choisi suivant une liste.
    J'ai fais un test et les taches ne sont pas sauvegardé en local sur le pc mais directement sur notre serveur.
    Est-ce que quelqu'un saurait comment enregistrer une taches sur une autre compte de messagerie.
    Merci
    Merci encore pour ton aide Pol63.

  6. #6
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Par défaut
    Bon en fouillant bien sur le net j'ai réussi à toujours un bout de code que j'ai adapté.
    Voici mon code si ça peut aider quelqu'un :
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Public Sub CreateOtherUserTask()
            Dim objolApp As New Outlook.Application
            Dim objNS As Outlook.NameSpace
            Dim objRecip As Outlook.Recipient
            Dim objFolder As Outlook.MAPIFolder
            Dim objAppt As Outlook.TaskItem
            Dim strName As String
     
            ' ### name or email address of person whose Calendar you want to use ###
            strName = TextBox3.Text
     
            objNS = objolApp.GetNamespace("MAPI")
     
            Try
                objRecip = objNS.CreateRecipient(strName)
                objRecip.Resolve()
     
                If objRecip.Resolved Then
                    objFolder = objNS.GetSharedDefaultFolder(objRecip, Outlook.OlDefaultFolders.olFolderTasks)
                    objAppt = objFolder.Items.Add
                    With objAppt
                        .StartDate = DateTimePicker1.Value
                        .DueDate = DateTimePicker2.Value   'Date d'échéance
                        .Subject = System.Environment.UserName.ToUpper & " : " & TextBox1.Text  'Objet de la tache
                        .Body = TextBox2.Text      'Corp de la tache
     
                        .ReminderSet = CheckBox1.Checked                    'Rappel à vrai
                        .ReminderTime = DateTimePicker3.Value      'Date du rappel
                        .Save()
                    End With
                    MsgBox("Taches envoyées à l'adresse suivante : " & TextBox3.Text)
                End If
            Catch ex As System.Runtime.InteropServices.COMException
                Select Case ex.ErrorCode
                    Case -2147467260    ' User responded NO to security prompt
                        MessageBox.Show("It won't work unless you say Yes to the security prompt.")
                    Case -1767636707    ' store not available to GetSharedDefaultFolder
                        MessageBox.Show("Information store for " & objRecip.Name & " not available.")
                    Case -1664876273    ' no permissions for folder
                        MessageBox.Show("You do not have permission to view the folder.")
                    Case -632274939     ' read-only permission, cannot write
                        MessageBox.Show("You do not have permission to create a new item in the folder.")
                    Case Else
                        MessageBox.Show("COMException - " & ex.ErrorCode)
                End Select
            Catch ex As Exception
                MessageBox.Show(ex.Message, ex.ToString)
            Finally
                objFolder = Nothing
                objAppt = Nothing
                objRecip = Nothing
            End Try
     
            objNS = Nothing
            objolApp = Nothing
        End Sub
    Ensuite il suffit d'aller dans le outlook distant (là où vous voulez créer des taches) clique de droite sur taches et propriétés. Ici dans l'onglet autorisation d'accés, cocher la case "création d'élément" pour autoriser l'écriture.
    Et voilà.


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

Discussions similaires

  1. Créer une tache Outlook
    Par devdev dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/06/2012, 00h37
  2. créer une tache à l'aide de VSTO pour Outlook
    Par luchanot dans le forum VSTO
    Réponses: 1
    Dernier message: 22/04/2011, 10h25
  3. Comment depuis un script bash, créer une tache planifier (crontab) ?
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 22/08/2007, 22h05
  4. API : créer une tache planifiée.
    Par Argonz dans le forum Windows
    Réponses: 3
    Dernier message: 05/05/2004, 14h16
  5. Créer une tache planifié (.bat ou wsh)
    Par BRAUKRIS dans le forum Windows
    Réponses: 4
    Dernier message: 18/03/2004, 17h12

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