Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Project > VBA Project
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 28/02/2011, 10h04   #1
Membre du Club
 
Avatar de pio_killer
 
Inscription : novembre 2008
Messages : 163
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 163
Points : 54
Points : 54
Par défaut Liste des applications pour CreateObject

Bonjour

Je voudrais savoir où trouver la liste des application avec leur nom afin de l'utiliser avec "CreateObject".

En fait, je veux utiliser la fonction "CreateObject" pour pallier au problème de version d'office descendante.
En effet, si je fait une macro qui ouvre Word et que je suis sous office 2007, la référence à rajouter est "Microsoft Word 12.0 Object.Library"
Or si une personne se trouve sous un office inférieur, cela ne marchera plus.

Par exemple, voici un code qui sauvegarde un modèle word en un document word.
Avec la référence "Microsoft Word 12.0 Object.Library":
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
Sub OuvreWordAvecRef()
 
'Activer la référence "Microsoft Word xx Object.Library"
 
Dim appWord As Word.Application
Dim PageWord As Word.Document
Dim PathModelWordFile As String
Dim PathWordFile As String
Dim WordFile As String
 
'On prend les chemins
PathModelWordFile = "D:\test"
PathWordFile = "D:\test"
 
'Création d'un nom de fichier pour sauvegarde
WordFile = PathWordFile & "\" & "\testWord" & ".doc"
 
'Création du document à partir d'un modèle
FileCopy PathModelWordFile & "\" & "modèle.dot", WordFile
 
'On ouvre Word
Set appWord = New Word.Application
Set PageWord = appWord.Documents.Open(WordFile)
 
'Désactive le correcteur d'orthographe
appWord.ActiveDocument.ShowSpellingErrors = False
 
appWord.visible = True
 
End Sub
Sans la référence "Microsoft Word 12.0 Object.Library":
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
Sub OuvreWordSansRef()
Dim appWord As Object
Dim PathModelWordFile As String
Dim PathWordFile As String
Dim WordFile As String
 
 
'On prend les chemins
PathModelWordFile = "D:\test"
PathWordFile = "D:\test"
 
'Création d'un nom de fichier pour sauvegarde
WordFile = PathWordFile & "\" & "\testWord" & ".doc"
 
'Création du doccument à partir d'un modèle
FileCopy PathModelWordFile & "\" & "modèle.dot", WordFile
 
'On ouvre Word
Set appWord = CreateObject("word.Application")
Set PageWord = appWord.Documents.Open(WordFile)
 
'Désactive le correcteur d'orthographe
appWord.ActiveDocument.ShowSpellingErrors = False
 
appWord.visible = True
 
End Sub
Dans le cas de word, le nom est "word.application". Pour Excel, c'est "excel.application".

Autre question : lorsqu'on ne connait pas le nom, comment est-ce qu'on fait ?

Merci d'avance pour toutes aide
pio_killer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 15h11   #2
Membre du Club
 
Avatar de pio_killer
 
Inscription : novembre 2008
Messages : 163
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 163
Points : 54
Points : 54
J'ai essayé en mettant le nom qu'on trouve dans le gestionnaire des taches mais sans succès.

Bizzare, je pensais que c'était ça
pio_killer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 16h45   #3
Responsable Access
 
Avatar de Arkham46
 
Inscription : septembre 2003
Messages : 4 300
Détails du profil
Informations personnelles :
Localisation : France, Loiret (Centre)

Informations forums :
Inscription : septembre 2003
Messages : 4 300
Points : 7 939
Points : 7 939
bjr,

c'est dans la base de registre ...

http://support.microsoft.com/kb/292491

pour office, on peut forcer une version :
Code :
CreateObject("Excel.Application.11")
mais si elle n'est pas installée, ça lève une erreur

si on ne met que :
Code :
CreateObject("Excel.Application")
il va chercher dans la base de registre le CLSID qui correspond à "Excel.Application"
et dans le CLSID il trouve le chemin vers le serveur (excel.exe)

à priori pour excel c'est la dernière version installée
pour word ça semble plus compliqué (cf le lien kb du dessus)
__________________
Assistant de création/modification de rubans Office
Utilisez en VBA les librairies graphiques GDI, GDI+ et openGL

Blog Office Mon Site DVP
Arkham46 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h08.


 
 
 
 
Partenaires

Hébergement Web