2009-07-22 21 views
1

Sans ouvrir l'Explorateur Windows. Je veux vérifier cela à partir de Word VBA.Avec VBA, comment puis-je vérifier si, dans l'Explorateur Windows, les extensions de fichiers pour les types de fichiers connus sont masquées?

Merci.

EDIT:

Ce code fonctionne maintenant:

Set WshShell = CreateObject("WScript.Shell") 

If WshShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\HideFileExt") = 0 Then 
    MsgBox Prompt:="In Windows Explorer, set the folder options to hide file extensions of known file types." _ 
     & vbCrLf & vbCrLf & " This prevents the file extension from appearing as part of the document number in" _ 
     & "the document body and page headers.", Buttons:=vbOKOnly + vbCritical, Title:="Critical" 
End If 
+0

Ceci est dans Windows Vista. – systemovich

Répondre

5

Vous devez interroger la valeur de Registre

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Avancé \ HideFileExt

Les extensions sont indiquées si cette valeur est ue vaut 0 et est masqué s'il est 1.

Vous pouvez utiliser la méthode RegRead sur l'objet WshShell pour lire cette valeur. Vous pouvez ajouter une référence à la bibliothèque de types de modèle d'objet hôte Windows Script dans votre projet VBA pour obtenir une typage fort lorsque vous utilisez l'objet WshShell.

+0

Merci, Martin, mais j'ai une erreur "Objet requis". Veuillez vérifier mon code dans la question ci-dessus. J'ai inclus mon code édité. – systemovich

+0

En outre, le terme "Windows" dans la chaîne HKey est mis en surbrillance lorsque la boîte de dialogue d'erreur apparaît. – systemovich

+0

Bonjour Martin, ça marche maintenant, mais vous avez oublié d'inclure "Explorer" entre "CurrentVersion" et "Advanced". – systemovich