activer microsoft outlook library par VBA Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
g
gloutoni
Membre habitué
Membre habitué
Messages : 149
Inscrit le : 12 février 2015
Version d'Excel : 2010

Message par gloutoni » 25 février 2016, 12:56

Bonjour,

Je souhaiterais tester si "Microsoft Outlook Library 14.0" est activé, si non l'activer.
Comment faire ?

Si une macro d'Excel 2010 (comprenant l'utilisation de la library 14.0) est activé sur un Excel plus récent cela ne risque-t-il pas de générer des erreurs.

Merci par avance,

Gloutoni.
g
gloutoni
Membre habitué
Membre habitué
Messages : 149
Inscrit le : 12 février 2015
Version d'Excel : 2010

Message par gloutoni » 25 février 2016, 20:59

j'ai ce code :
    'vérifier la présence d'une référence, l'ajouter si absente
    '(ici une référence au Microsoft Scripting Runtime, ie FileSystemObject)

    Sub TestRef()
        MsgBox CheckScriptingRef
    End Sub

    'Patrick Molloy, mpep
    Private Function CheckScriptingRef() As String
       Dim x As Object
       Dim msg As String
       Set x = ThisWorkbook.VBProject.References
       On Error Resume Next
       x.Addfromfile "C:\WINDOWS\System32\scrrun.dll"
       If Err.Number <> 0 Then
             If Err.Number = 32813 Then
                msg = "Already Referenced"
             Else
                msg = Err.Number & vbCrLf & Error
             End If
             Err.Clear
       Else
           msg = "Reference Added"
       End If
      CheckScriptingRef = msg
    End Function
     
mais comment l'adapter dans le cas présent ?
g
gloutoni
Membre habitué
Membre habitué
Messages : 149
Inscrit le : 12 février 2015
Version d'Excel : 2010

Message par gloutoni » 26 février 2016, 19:03

Bonjour,

Ce n'est pas possible ?
g
gloutoni
Membre habitué
Membre habitué
Messages : 149
Inscrit le : 12 février 2015
Version d'Excel : 2010

Message par gloutoni » 27 février 2016, 13:13

Bonjour,

J'ai essayé de remplacer le scrun.dll par MSOUTL.OLB , mais cela ne fontionne pas.

Des idées ?

ce code n'active pas la librarie
 'vérifier la présence d'une référence, l'ajouter si absente
'(ici une référence au Microsoft Scripting Runtime, ie FileSystemObject)

 Sub TestRef()
     MsgBox CheckScriptingRef
 End Sub

 'Patrick Molloy, mpep
Private Function CheckScriptingRef() As String
    Dim x As Object
    Dim msg As String
    Set x = ThisWorkbook.VBProject.References
    On Error Resume Next
    x.AddFromFile "C:\WINDOWS\System32\MSOUTL.OLB"
    MsgBox (Err.Number)
    If Err.Number <> 0 Then
          If Err.Number = 32813 Then
             msg = "Already Referenced"
          Else
             msg = Err.Number & vbCrLf & Error
          End If
          Err.Clear
    Else
        msg = "Reference Added"
    End If
   CheckScriptingRef = msg
 End Function
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'381
Appréciations reçues : 401
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 27 février 2016, 14:19

Bonjour,

Fait une recherche de MSOUTL.OLB, il y a un moment que windows les range ailleurs que dans C:\WINDOWS\System32\
Tu auras plus de chance dans C:\Program Files (x86)\Microsoft Office\OFFICE11\
OFFICE11 pour Office 2003, 12 pour Office 2007, 14 pour Office 2010
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
g
gloutoni
Membre habitué
Membre habitué
Messages : 149
Inscrit le : 12 février 2015
Version d'Excel : 2010

Message par gloutoni » 27 février 2016, 15:14

Bonjour,

Bon sang mais c'est bien sur :idea: ...

Merci

Là je suis sous office 2010 et pour office 2016 il faut remplacer

"Office14" par quoi ?
 'vérifier la présence d'une référence, l'ajouter si absente
'(ici une référence au Microsoft Scripting Runtime, ie FileSystemObject)

 Sub TestRef()
     MsgBox CheckScriptingRef
 End Sub

 'Patrick Molloy, mpep
Private Function CheckScriptingRef() As String
    Dim x As Object
    Dim msg As String
    Set x = ThisWorkbook.VBProject.References
    On Error Resume Next
    x.AddFromFile "C:\Program Files\Microsoft Office\Office14\MSOUTL.OLB"
    MsgBox (Err.Number)
    If Err.Number <> 0 Then
          If Err.Number = 32813 Then
             msg = "Already Referenced"
          Else
             msg = Err.Number & vbCrLf & Error
          End If
          Err.Clear
    Else
        msg = "Reference Added"
    End If
   CheckScriptingRef = msg
 End Function
         
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'381
Appréciations reçues : 401
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 27 février 2016, 17:08

Ben cherche ton fichier pour savoir où il est.
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
g
gloutoni
Membre habitué
Membre habitué
Messages : 149
Inscrit le : 12 février 2015
Version d'Excel : 2010

Message par gloutoni » 27 février 2016, 19:50

J'ai excel 2010, mais si ce petit bout de code pourrait être lancé sur un excel 2016 j'aimerais qu'il fonctionne, si quelqu'un ayant excel 2016 pouvais regarder :P .

Merci
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'381
Appréciations reçues : 401
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 27 février 2016, 21:38

Je dirais 15 pour Office 2013 et 16 pour 2016
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
g
gloutoni
Membre habitué
Membre habitué
Messages : 149
Inscrit le : 12 février 2015
Version d'Excel : 2010

Message par gloutoni » 28 février 2016, 11:00

Je vais essayer comme cela et on verras.

merci
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message