VBA : Comment installer une nouvelle version d'une Object Library ?

VBA : Comment installer une nouvelle version d'une Object Library ? - VB/VBA/VBS - Programmation

Marsh Posté le 19-09-2011 à 17:43:35    

Bonjour,
 
 J'ai développé une macro en VBA pour Outlook.  Chez moi, ça fonctionne bien.
Mais chez un client, ça plante dès le lancement, avec le message suivant :
"Type défini par l'utilisateur non défini"
 
sur la ligne suivante :
 Dim TOTO as Outlook.Stores
 
Quand je vais regarder dans Outils-Références, j'ai les lignes suivantes qui sont cochées :
 - Visual Basic for Application
 - Microsoft Outlook 11.0 Object Library
 
Chez moi, j'ai Microsoft Outlook 12.0 Object Library.  Le problème doit donc très probablement venir de là.
 
Ma question est donc : Comment installer chez le client cette Object Library (les 2 libraries ont le même nom 'msoutl.olb', mais pas le même répertoire). ?
 
Merci d'avance


---------------
Les montres sans aiguilles Origami Watches sont disponibles : www.origami.watch.
Reply

Marsh Posté le 19-09-2011 à 17:43:35   

Reply

Marsh Posté le 19-09-2011 à 21:06:19    

En installant la version 12 de Outlook chez le client ?
Sinon, as tu essayé de copier ces fichier olb dans le bon répertoire ?


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 20-09-2011 à 04:54:18    

Salut, on dit souvent développer en Early Binding et distribuer en Late Binding, donc à voir entre autre http://excel.developpez.com/faq/?p [...] rReference
http://msdn.microsoft.com/en-us/li [...] s.80).aspx
http://support.microsoft.com/kb/245115


Message édité par kiki29 le 20-09-2011 à 07:11:33

---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 20-09-2011 à 09:17:17    

Impossible d'installer Office 2007 (auquel est lié Outlook 12.0 Object Library) pour des raisons de sécurité.
 
Je vais pour pour les liens donnés par Kiki29.
 
Merci pour votre aide.


---------------
Les montres sans aiguilles Origami Watches sont disponibles : www.origami.watch.
Reply

Marsh Posté le 20-09-2011 à 15:29:58    

Comme les liens de kiki29 l'expliquent, plutot que de passer par un objet existant dans une bibliotheque déclarée, autant créér directement l'objet.
 
Donc dans ton cas, ca serait :

Code :
  1. Dim Oapp,Toto
  2. Set Oapp = CreateObject("Outlook.Application" )
  3. Set Toto = Oapp.Session.Stores


 
Et ensuite je suppose que c'est un truc comme ca que tu veux :

Code :
  1. For Each Store In Toto
  2.         ValTxt = ValTxt & Store.DisplayName & vbCrLf
  3.         ValTxt = ValTxt & "Fichier : " & Store.FilePath & vbCrLf
  4.         ValTxt = ValTxt & "Mise en cache Exchange: " & Store.IsCachedExchange & vbCrLf
  5.         ValTxt = ValTxt & "Banque avec une extension .pst ou .ost: " & Store.IsDataFileStore & vbCrLf
  6.         ValTxt = ValTxt & "L’indexation est activée : " & Store.IsInstantSearchEnabled & vbCrLf
  7.         ValTxt = ValTxt & "Class : " & Store.Class & vbCrLf
  8.         ValTxt = ValTxt & "Exchange Type : " & Store.ExchangeStoreType & vbCrLf
  9.         ValTxt = ValTxt & "Store ID : " & Store.StoreID & vbCrLf & vbCrLf
  10.         ValTxt = ValTxt & "Root : " & Store.GetRootFolder & vbCrLf & vbCrLf
  11.         'etc.
  12.         Debug.Print ValTxt
  13. Next Store


Message édité par SuppotDeSaTante le 20-09-2011 à 15:30:23

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed