Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2168 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Cde Shell] problème avec les espaces

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA Cde Shell] problème avec les espaces

n°847094
jr10
Pourvu qu'on y arrive ...
Posté le 10-09-2004 à 16:29:23  profilanswer
 


je voulais lancer simplement
 
myShell = shell("chemin\Excel.exe c:\Mes Documents\fichierExcel.xls",1)
 
mais l'espace dans "Mes documents" pose un problème à Excel pour le lancement du fichier.
 
Comment gérer ces espaces dans le pathname pour le nom du fichier ??
 
Il faut noter que pour le chemin de Excel.exe, l'espace de "Program Files" n'a pas posé de problème.
 
Merci pour une réponse ou une piste.

mood
Publicité
Posté le 10-09-2004 à 16:29:23  profilanswer
 

n°847107
jagstang
Pa Capona ಠ_ಠ
Posté le 10-09-2004 à 16:36:35  profilanswer
 

essaie  
 
C:\Documents and Settings\mon username\Mes Documents

n°847121
jr10
Pourvu qu'on y arrive ...
Posté le 10-09-2004 à 16:43:22  profilanswer
 

La solution me semble pas par là.
En fait, la commande est découpée
 
Le message d'erreur est, alors que Excel s'ouvre :
"Excel ne trouve pas le ficher c:\Mes.xls"
"Excel ne trouve pas le ficher Documents\fichierExcel.xls"
 
L'espace étant le séparateur entre l'application et son fichier, le système pense que j'essaie d'ouvrir plusieurs fichiers.
 
Merci pour cette réactivité.

n°847286
Arjuna
Aircraft Ident.: F-MBSD
Posté le 10-09-2004 à 20:03:54  profilanswer
 

myShell = shell("""chemin\Excel.exe"" ""c:\Mes Documents\fichierExcel.xls""",1)  
 
et zou !

n°847289
Arjuna
Aircraft Ident.: F-MBSD
Posté le 10-09-2004 à 20:05:58  profilanswer
 

ceci dit, avec VBA, tu peux carrément faire un objet de type EXCEL, le mettre à invisible et faire tes traîtements dedans.
 
A ce moment, t'as même plus besoin de faire un shell, et ça t'évite de te faire chier avec une macro en autoexec qui génère un warning sur Office 2000 SP2.

n°847290
Arjuna
Aircraft Ident.: F-MBSD
Posté le 10-09-2004 à 20:06:15  profilanswer
 

je regarde si je retrouve la syntaxe :)

n°847300
Arjuna
Aircraft Ident.: F-MBSD
Posté le 10-09-2004 à 20:35:56  profilanswer
 

Bon, désolé, j'ai été emmerdé au téléphone et tout le tintouin (pfff, on peut pas être tranquille dans c'te barraque :o)
 
Voilà ce que je t'ai pondu :


dim excel
Set excel = CreateObject("Excel.Application" )
excel.visible = false
excel.Workbooks.Open("c:\documents and settings\sylvain devidal\mes documents\test.xls" )
excel.Workbooks("test.xls" ).worksheets(1).cells(1,1).value = "Arjuna est une véritable déesse, normale, elle a été enfantée par MagicBuzz le grand Shaman"
excel.Workbooks("test.xls" ).SaveAs("c:\documents and settings\sylvain devidal\mes documents\archives\" & replace(replace(now, "/", "-" ), ":", "" ) & ".xls" )
excel.Workbooks.Close()
excel.Quit()
Set excel = Nothing
 


 
Change mon nom par le tiens :D
Puis crée un fichier "test.xls" dans "Mes Documents".
Crée un répertoire "Archives" dans "Mes Documments".
 
Lance 3 ou 4 fois le script, et va dans "Archives".
Admirre le résultat, et vénère-moi :ange:
 
Pour la suite, t'as plus qu'à recopier ta macro dans le VBS, et comme ça tu pourras partir d'un VB dénué de toute macro. Le VBA ne te posera pas de problème d'alertes de séciruté pour tourner, et tu auras accès à tout comme depuis une macro (juste que la syntaxe est légèrement plus chiante).
 
PS: une partie des sous-objets est inutile dans mon exemple (les "workbooks("test.xls" )" par exemple) mais oblige-toi à les conserver : le jour où tu auras besoin de bosser avec deux fichiers ouverts en même temps dans ton objet Excel, ça te sera très utile :)
 
PS: qui a dit que VBA c'était de la merde ? :)


Message édité par Arjuna le 10-09-2004 à 20:39:02
n°854348
jr10
Pourvu qu'on y arrive ...
Posté le 20-09-2004 à 18:47:40  profilanswer
 

C'est super ton truc !!!!
J'avais pas idée de créer un object "fichier".
Note que je suis débutant et en autoformation.
 
Je peux peut-être te vénérer mais sûr te remercier.
 
Cordialement
 
jr10
 

n°854509
Arjuna
Aircraft Ident.: F-MBSD
Posté le 21-09-2004 à 00:49:35  profilanswer
 

moi aussi j'ai découvert tout ça en autoformation :
 
style au boulot on me demande :  
- faire une macro excel tu sais faire ?
- euh... nan, c'est du VBA, ça doit s'apprendre...
- bon, ok, fait-moi pour cet après-midi une macro qui va télécharger des reports sur notre intranet, puis qui s'envoie pas mails dans une liste de mails retrouvés dans mes contacts outlook.
- euh...
 
:D

n°1738990
slylelglob​etrotter
Posté le 29-05-2008 à 16:26:17  profilanswer
 

Arjuna a écrit :

myShell = shell("""chemin\Excel.exe"" ""c:\Mes Documents\fichierExcel.xls""",1)  
 
et zou !


 
Bonjour,
 
Je sais que ça date un peu mais bon... je tente le coup.
En suivant les recommandations de Arjuna, est-il possible de passer le fichier Excel à ouvrir en paramètre ?
 
Merci grandement !!!

mood
Publicité
Posté le 29-05-2008 à 16:26:17  profilanswer
 

n°2194277
kalamitey
Petit pas par petit pas
Posté le 14-06-2013 à 12:19:47  profilanswer
 

Pour moi, ces problemes d'espace ne sont pas dans le nom complet (avec chemin de l'executable), mais dans celui du fichier utilisé
 
J'ai réglé ce problème d'espace dans les chemins en mettant des guillemets
 
exemple :
 
Shell("c:\mon dossier\MonAppli.exe ""c:\dossier avec espace\Fichier.ext""" )
 
pour créer un espace dans une chaine de caractères, en mettre 2 ""

n°2194279
kalamitey
Petit pas par petit pas
Posté le 14-06-2013 à 12:21:22  profilanswer
 

rectif
pour créer un guillemet dans une chaine de caractères, en mettre 2 ""


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Cde Shell] problème avec les espaces

 

Sujets relatifs
Problème etrange dinit avec le ConfigurationType de Visual Studio ???probleme en asp
probleme debugger Visual C++ 6problème installation visual studio 6
Comment convertir espaces et accents des URL en %xx ?Problème lors du post d'un checkbox checked disabled
[VB] Probleme d'acces a une base Access en mise a jour.problème de fread
[VBA Excel / SQL] Extraction automatique à période régulière[java]probleme avec getResource dans un jar
Plus de sujets relatifs à : [VBA Cde Shell] problème avec les espaces


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR