OVH Cloud OVH Cloud

logon script : langue de Office ?

8 réponses
Avatar
BL
Bonjour,
Je cherche un logon script qui me donnerait la langue et la version de
Microsoft office installé sur les ordinateurs.
L'info serait sauvée sur une lecteur réseau.

Avez-vous des idées ? merci !

8 réponses

Avatar
Jacques93
Bonjour BL,
Bonjour,
Je cherche un logon script qui me donnerait la langue et la version de
Microsoft office installé sur les ordinateurs.
L'info serait sauvée sur une lecteur réseau.

Avez-vous des idées ? merci !


On peut avoir des composants d'office de différentes versions sur une
machine (Word 2000, Excel 2003 par exemple). Mais par exemple pour Excel
et Word en VBS :

Dim Excel, Word

Set Excel = CreateObject ("Excel.Application")
MsgBox "Excel Version : " & Excel.Version & vbcrlf & _
Excel.LanguageSettings.LanguageID(2)

Set Word = CreateObject ("Word.Application")
MsgBox "Word Version : " & Word.Version & vbcrlf & _
Word.LanguageSettings.LanguageID(2)
Set Excel = Nothing


Excel.LanguageSettings.LanguageID(2) renvoie un LCID dont tu peut
trouver la liste ici :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsmsclcid.asp

--
Cordialement,

Jacques.

Avatar
Do Re Mi chel La Si Do
Bonsoir !


Au passage, merci. Car, si je connaissais la fonction
LanguageSettings.LanguageID(2), je n'avais pas la liste des constantes.

Et, d'ailleurs, j'aimerais bien trouver les listes des valeurs des
constantes, telles que wdDoNotSaveChanges, wdCharacter, wdCell, wdLine,
wdAlignRight, etc.

Cela m'éviterait d'afficher les valeurs, une à une, dans un MessageBox...

Merci d'avance


@-salutations

Michel Claveau
Avatar
Jacques93
Bonsoir Michel Claveau,

Bonsoir !


Au passage, merci. Car, si je connaissais la fonction
LanguageSettings.LanguageID(2), je n'avais pas la liste des constantes.

Et, d'ailleurs, j'aimerais bien trouver les listes des valeurs des
constantes, telles que wdDoNotSaveChanges, wdCharacter, wdCell, wdLine,
wdAlignRight, etc.

Cela m'éviterait d'afficher les valeurs, une à une, dans un MessageBox...



Les valeurs retournées par LanguageSettings.LanguageID(2) sont liées à
Windows, et publiées sur MSDN, cela concerne Windows ,par contre la
constante wdDoNotSaveChanges est interne à Word.

Quand je travaille avec Office ou VB6 (désolé...), il suffit de déclarer
une référence au produit en question, Word, Excel, Outlook, etc...
et via l'explorateur d'objet <F2> dans VBA, on a accès aux méthodes,
propriétés, constantes (et donc à leur valeur) de l'objet en question.
Par exemple :

http://cjoint.com/?kpxCSbUj7U

Dans les scripts, dont je suis loin d'être spécialiste, il n'y a pas de
'typage' des objets, et donc pas accès à ces infos.

Je ne connais pas de sites référençant ces informations, même sur MSDN,
je peux me tromper, mais il me semble que sans le produit : pas d'infos :-(

Bonne fin de Week-End

--
Cordialement,

Jacques.

Avatar
Do Re Mi chel La Si Do
Bonsoir !


OK, merci. J'ai bien trouvé l'info dans mon Office XP. Mais, pour chaque
constante, je suis obligé de lire la valeur dans la barre d'état, et de
copier/coller le nom ; tout ça élément par élément.

Dommage que je n'ai pas trouvé de liste.

Enfin, c'est déjà mieux que mon système par macro...

Encore merci.


@-salutations

Michel Claveau
Avatar
Alain CROS
Bonjour.

Essayer ceci dans Excel.
Adapter les répertoires.

Alain CROS

Sub AfficheConst()
Dim i&, X As Object, Y As Object, R As Object, mbr As Object
Set X = CreateObject("TLI.TLIApplication")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Excel.exe")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Msacc.olb")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Msoutl.olb")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Msppt.olb")
Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Msword.olb")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesVisioVisLib32.dll")
Cells.ClearContents
For Each R In Y.Constants
For Each mbr In R.Members
i = i + 1
Cells(i, 1) = mbr.Name
Cells(i, 2) = mbr.Value
Next mbr
Next R
Set Y = Nothing
Set X = Nothing
Set R = Nothing
Set mbr = Nothing
Columns("A:A").Columns.AutoFit
End Sub
Avatar
Jacques93
Bonjour à tous,
Bonjour.

Essayer ceci dans Excel.
Adapter les répertoires.

Alain CROS

Sub AfficheConst()
Dim i&, X As Object, Y As Object, R As Object, mbr As Object
Set X = CreateObject("TLI.TLIApplication")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Excel.exe")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Msacc.olb")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Msoutl.olb")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Msppt.olb")
Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft Office2000Office10Msword.olb")
' Set Y = X.TypeLibInfoFromFile("C:Program FilesVisioVisLib32.dll")
Cells.ClearContents
For Each R In Y.Constants
For Each mbr In R.Members
i = i + 1
Cells(i, 1) = mbr.Name
Cells(i, 2) = mbr.Value
Next mbr
Next R
Set Y = Nothing
Set X = Nothing
Set R = Nothing
Set mbr = Nothing
Columns("A:A").Columns.AutoFit
End Sub




Pas mal aussi, chez Frederic Sigonneau, liste des constantes triées par
catégorie :

http://frederic.sigonneau.free.fr/code/Excel/ListeConstantesExcel.txt

facilement adaptable à Word ou autres.

--
Cordialement,

Jacques.

Avatar
Do Re Mi chel La Si Do
Bonsoir, Alain Cros & Jacques93 !


Après avoir téléchargé Tlbinf32.dll, là :

http://lambdasoft.dk/files/TlbInf32.exe
(le lien chez Microsoft impose d'avoir VStudio)

Après l'avoir installé, en m'inspirant de vos deux exemples, j'ai pu pondre
(Cot ! Cot! Cot !) la macro word ci-dessous.

A l'exécution, elle crée un document de 60 pages, facile à copier/coller.

Merci à tous les deux.


Michel Claveau





Sub Macro2()
' liste (lecture) des constantes MsWord.olb
' nécessite TLI.TLIApplication (Tlbinf32.dll)
' Macro inspirée des exemples de Jacques Alain Cros 93, et Cie
'
Dim i&, X As Object, Y As Object, R As Object, mbr As Object
Set X = CreateObject("TLI.TLIApplication")
Set Y = X.TypeLibInfoFromFile("C:Program FilesMicrosoft
OfficeOffice10Msword.olb")

For Each R In Y.Constants
For Each mbr In R.Members
i = i + 1
Selection.TypeText Text:=mbr.Name
Selection.TypeText Text:="="
Selection.TypeText Text:=mbr.Value
Selection.TypeParagraph
Next mbr
Selection.TypeParagraph
Next R
Set Y = Nothing
Set X = Nothing
Set R = Nothing
Set mbr = Nothing
End Sub
Avatar
Do Re Mi chel La Si Do
Re

Maintenant que j'ai une solution, je viens de tomber sur ce lien :
http://www.p6c.com/cgi-bin/p6c/buildfaqndxx.pl?CommonTypelibs
Mais, je n'en ai plus besoin....

@-salutations

Michel Claveau