Nom de fichier sans extension de nom de VBA
Ai besoin de nom de fichier sans extension de nom par VBA. Je sais ActiveWorkbook.Name
bien , mais si l'utilisateur nantis Windows de la propriété Hide extensions for known file types
éteindre, le résultat de mon code sera [Nom.Extension]. Comment puis-je retourner seul nom de Classeur indépendant de windows de propriété?
J'essaie même ActiveWorkbook.Application.Caption
mais je ne peux pas personnaliser cette propriété.
OriginalL'auteur Liniel | 2015-01-13
Vous devez vous connecter pour publier un commentaire.
crédit complet: http://mariaevert.dk/vba/?p=162
Pensez-y-bien. Vous êtes à l'aide d'un InStrRev pour trouver le point. Eh bien, que si le nom de fichier est "Jean.Et.Marie.Feuille de calcul", parce qu'ils ont Masquer les Extensions option? Maintenant, il pense que le fichier est "Jean.Et.Marie" et de l'extension de fichier est "feuille de calcul".
Pas d'après mon système. Vous ne savez pas si la version que vous utilisez, il change les choses, mais le .Nom de la propriété renvoie le nom complet, quel que soit le Caché extensions. Au moins, c'est ce qu'il fait pour moi.
Lire l'OP de la question. Il est dit, il obtient l'extension uniquement si cette option est désactivée.
Est-il possible que l'OP est faux, d'où demander de l'aide sur? Ou sont tous les OPs infaillible?
OriginalL'auteur bp_
Les réponses données ici peuvent travailler dans des situations limitées, mais ne sont certainement pas la meilleure façon d'aller à ce sujet. Ne pas réinventer la roue. Le Objet De Système De Fichiers dans le Microsoft Scripting Runtime library a déjà une méthode pour ce faire. Il est appelé GetBaseName. Il gère les périodes dans le nom de fichier comme.
Instructions pour l'ajout d'une référence à la Bibliothèque de Scripts
Classique de bons conseils à partir du mec...
RbeerDuck, Quand je lance cette commande, il y a une erreur de compilation "type défini par l'Utilisateur non défini"
href="http://stackoverflow.com/a/3236348/3198973">stackoverflow.com/a/3236348/3198973
Je pense que vous devriez l'essayer avant de suggérer qu'il ne fonctionne pas.
OriginalL'auteur RubberDuck
Simple mais fonctionne bien pour moi
OriginalL'auteur Ifca
Être détaillé de la suppression de l'extension est démontré pour
classeurs.. qui ont maintenant une variété d'extensions .
. une nouvelle non enregistrées Classeur1 a aucun poste
. fonctionne de la même pour les fichiers
[code]
Fonction WorkbookIsOpen(FWNa$, En Option AnyExt As Boolean = False) As Boolean
Fin De La Fonction
[/code]
OriginalL'auteur Harry S
À l'aide de la fonction de répartition semble plus élégante que l'Instrument et de Gauche, à mon avis.
OriginalL'auteur Bob Nightingale
Réponse est ici:
Je pense que cette réponse est la bonne, merci de l'essayer
http://mariaevert.dk/vba/?p=162
OriginalL'auteur Ahmed