VBA et fonction MacScript : chemin du bureau

dionys0s

XLDnaute Impliqué
Salut le forum

je travaille sur Mac, et j'aurais besoin de récupérer le chemin du bureau.
Donc une solution (la seule je crois) consiste à utiliser la fonction MacScript de VBA.

J'ai donc cette petite fonction toute simple :
[Highlight=VB]Function DesktopPath() As String

DesktopPath = MacScript("path to desktop")

End Function
[/code]

Le problème est tout bête en soi : au lieu de récupérer "Macintosh HD:Users:UserName:desktop:", je récupère "alias Macintosh HD:Users:UserName:desktop:". J'ai ce petit "alias " à la con qui me perturbe mon truc. Je me demandais comment être sûr de contourner ce truc (autrement qu'avec Mid(), car je ne sais pas comment se comportera la fonction sur une autre machine Mac)

Merci d'avance pour votre aide ^^

dionys0s
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : VBA et fonction MacScript : chemin du bureau

Bonjour,

aucune idée sur mac, mais pour le chemin du bureau ceci fonctionne sous pc :
Code:
Dim chemin As String
chemin = CreateObject("WScript.Shell").specialFolders("Desktop")
bonne journée
@+
 
Re : VBA et fonction MacScript : chemin du bureau

Bonjour

essaye l'instruction Replace pour remplacer "Alias " par "" dans ta chaine de caractère DesktopPath. Cela n'aura aucun impact si alias ne s'y trouve pas. Cette instruction n'existait pas dans les anciennes versions d'Excel mac mais il y a des chances qu'elle ait été implémentée dans la version 2011.

Cordialement
 

dionys0s

XLDnaute Impliqué
Re : VBA et fonction MacScript : chemin du bureau

Re,
Bonjour Pierrot
Edit : bonjour Yeahou

Oui j'avais bien vu et tenté vos solutions en faisant mes recherches préalables, mais ça ne fonctionne pas pour la solution de Pierrot (J'ai le message d'erreur "Erreur d'exécution 429 : un composant ActiveX ne peut pas créer d'objet") et pour celle de Yeahou (étant une croûte en Apple Script, je ne sais pas d'où sort ce "alias ", et je sais pas si ça va pas être un autre truc sur une autre machine ou pas. C'est un peu parano, mais bon...)

Ceci dit, en poursuivant mes recherches, je suis tombé sur cette excellente page (pour ceux qui font du VBA sur Mac), et dans laquelle j'ai trouvé la réponse. La fonction devient donc :
VB:
Function DesktopPath() As String

    DesktopPath = MacScript("return (path to desktop folder) as string")

End Function

Il n'est pas certain que ça aide grand monde, mais sait-on jamais :)

Bonne journée à toi, lecteur.
 
Dernière édition: