Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Outlook > VBA Outlook
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/04/2007, 09h22   #1
Membre du Club
 
Avatar de e040098k
 
Inscription : avril 2007
Messages : 197
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 197
Points : 56
Points : 56
Par défaut [VBA-W-O]Publier sur Exchange

Bonjour à tous,

Le code qui suit permet d'ouvrir la boite de dialogue de publication vers un dossier exchange d'outlook. Je cherche un moyen de préciser le dossier de publication de manière à positionner le focus sur ce dossier. Ou encore d'automatiser la publication sans ouvrir la boite de dialog !

Si vous avez une petite idée !!

Merci

Code :
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
Public Sub PostExchange()
 
    Dim olApp As Object
    Dim olNS As Object
    Dim oFolder As Object
    Dim oItem As Object
    Dim NomFichier As String
    Dim CheminFichier As String
 
On Error GoTo Fin
    Set olApp = CreateObject("Outlook.Application")
    Set olNS = olApp.GetNameSpace("MAPI")
    Set oFolder = olNS.PickFolder
    Set oItem = oFolder.Items.Add("IPM.Document.*.DOC")
    NomFichier = ActiveDocument.Name
    CheminFichier = ActiveDocument.Path
 
    oItem.MessageClass = "IPM.Document.*.DOC"
 
    ' On change le chemin du fichier
    oItem.Attachments.Add CheminFichier & "\" & NomFichier
 
    ' On change le thème de notre document
    oItem.Subject = NomFichier
    oItem.Save
Fin:
End Sub
e040098k est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2007, 20h59   #2
Membre éclairé
 
Inscription : octobre 2006
Messages : 390
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 390
Points : 396
Points : 396
Désolé mais je n'ai pas Exchange et n'utilise pas Outlook. Fais une recherche sur Google avec le mot "PickFolder" et tu devrais pouvoir trouver qq exemples :
http://msdn2.microsoft.com/en-us/lib...ffice.10).aspx
ou http://msdn2.microsoft.com/en-us/lib...ffice.10).aspx
et autres...
dadavyvy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 09h49   #3
Membre du Club
 
Avatar de e040098k
 
Inscription : avril 2007
Messages : 197
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 197
Points : 56
Points : 56
Par défaut [VBA-W] Publier sur Exchange

J'ai trouvé !!!

Après de longue recherche et après avoir réviser mon anglais !!!

Il faut passer par une function par laquelle on retrouve le dernier dossier d'un chemin que l'on à préciser.
J'ai trouvé cette source ici : http://www.outlookcode.com/d/code/getfolder.htm

Voila mon code :
Code :
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Sub PostExchangeAutomatique()
'*************************************************************************
'NECESSITE D'ACTIVER LA REFERENCE "Microsoft Outlook 11.0 object Librairy"
'*************************************************************************
Dim strFolderPath As String
    Dim oFolder As Object
    Dim oItem As Object
    Dim NomFichier As String
    Dim CheminFichier As String
 
On Error GoTo Fin
 
strFolderPath = "Dossiers Publics\Tous les dossiers publics\Archive sesam"
 
    'Appel de la function GetFolder
    Set oFolder = GetFolder(strFolderPath)
    'On à trouver le dernier dossier, c'est dans celui ci que l'on va publier :
    Set oItem = oFolder.Items.Add("IPM.Document.*.DOC")
    NomFichier = ActiveDocument.Name
    CheminFichier = ActiveDocument.Path
 
    oItem.MessageClass = "IPM.Document.*.DOC"
 
    ' On change le chemin du fichier
    oItem.Attachments.Add CheminFichier & "\" & NomFichier
 
    ' On change le thème de notre document
    oItem.Subject = NomFichier
    oItem.Save
Fin:
End Sub
 
Public Function GetFolder(strFolderPath As String) As MAPIFolder
'*************************************************************************
'NECESSITE D'ACTIVER LA REFERENCE "Microsoft Outlook 11.0 object Librairy"
'*************************************************************************
  ' le chemin du dossier public doit être de la forme :
  '   "Dossiers publics\Tous les dossiers publics\NomEntreprise\..."
    Dim objApp As Outlook.Application
    Dim objNS As Outlook.NameSpace
    Dim colFolders As Outlook.Folders
    Dim objFolder As Outlook.MAPIFolder
    Dim arrFolders() As String
    Dim I As Long
 
   On Error Resume Next
 
   strFolderPath = Replace(strFolderPath, "/", "\")
   arrFolders() = Split(strFolderPath, "\")
 
   'Instanciation des objets
   Set objApp = CreateObject("Outlook.Application")
   Set objNS = objApp.GetNamespace("MAPI")
   Set objFolder = objNS.Folders.Item(arrFolders(0))
 
   'Si objFolder est non nul alors :
   'On fait une boucle jusqu'a trouver le dernier dossier le l'arborescence
   If Not objFolder Is Nothing Then
     For I = 1 To UBound(arrFolders)
       Set colFolders = objFolder.Folders
       Set objFolder = Nothing
       Set objFolder = colFolders.Item(arrFolders(I))
       If objFolder Is Nothing Then
         Exit For
       End If
     Next
   End If
 
'La function prend la valeur du dossier trouvé :
  Set GetFolder = objFolder
'On libère les objets
  Set colFolders = Nothing
  Set objNS = Nothing
  Set objApp = Nothing
End Function
Si cela peut servir à quelqu'un d'autre !!

Merci et a bientôt
e040098k est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h25.


 
 
 
 
Partenaires

Hébergement Web