Bonjour, Effectivement, ce message indique que le fichier à exécuter n'est pas trouvé. A cause de cette ligne :
ef = "command.com C:/"+filePath+script+".bat" filePath est une URL donc il ne faut pas ma préfixer avec "C:/". Une simple msgbox affichant la valeur de la variable "ef" permet de mettre le problème en évidence. Cordialement, T. Vataire ----- Mail Original ----- De: "Rémi Mathieu" <[email protected]> À: [email protected] Envoyé: Mardi 31 Mars 2009 00h12:18 GMT +02:00 Harare / Pretoria Objet: Re: [prog] Bibliothèque contenant la fonction Shell Bonsoir J'ai mal interprété le message d'erreur à l'exécution de ma macro, message qui m'indique que le fichier n'existe pas. Il s'agit probablement du fichier dont le nom est passé en argument de la commande shell. Le texte de la macro est ci-dessous en italique (noir pour les commentaires, rouge pour les autres commandes bacic) /REM ***** BASIC ***** Sub Main() REM Il faut d'abord créer sur votre disque un fichier avec le contenu suivant: REM sous Windows (nom de fichier C:\tmp\test.bat) REM echo %1 REM pause REM ------------ Exemple de Sync ------------------ REM appel de ma macro d'exécution de script avec bSync=TRUE REM l'exécution du basic attendra que le terminal (ou la fenêtre msdos) REM soit fermé par l'appui d'une touche (CTRL+C sous Windows) REM Sous Windows shellRunner("file://C:/temp/", "test", "Hello World", TRUE) REM Signaler la fin de l'exécution Print "The End" REM ------------ Sans Sync ------------------ REM Appel avec bSync=FALSE REM L'exécution du code basic sera continuée REM Sous Windows shellRunner("file://C:/temp/", "test", "Hello World", FALSE) REM On indique la fin de l'exécution Print "The End" End Sub Sub shellRunner(dirPath$, script$, prms$, sync as Boolean) Dim filePath$, ef$, ed$, isWindows as Boolean REM On regarde sous quel OS on se trouve isWindows = instr(mid(dirPath,8),":/")>0 or instr(mid(dirPath,8),"\")>0 REM Conversion de l'URL en chemin de fichier filePath = convertFromURL(dirPath) REM Création de la ligne de commande If isWindows Then ef = "command.com C:/"+filePath+script+".bat" Else ef = "xvt -e sh "+filePath+script+".sh" End If REM Exécution de la ligne de commande Shell(ef, 1, prms, sync) End Sub/ Thibault Vataire a écrit : > Bonjour, > > La fonction Shell est une fonction intégrée au Starbasic et ne nécessite pas > de charger une bibliothèque. > La documentation de cette fonction est disponible dans l'aide > d'OpenOffice.org dans la section "OpenOffice.org Basic". > Quel problème rencontrez-vous exactement? > > Cordialement, > > T. Vataire > > > ----- Mail Original ----- > De: "Rémi Mathieu" <[email protected]> > À: [email protected] > Envoyé: Lundi 30 Mars 2009 16h03:42 GMT +02:00 Harare / Pretoria > Objet: [prog] Bibliothèque contenant la fonction Shell > > Bonjour > > Le document d'Andrew Pitonyak "Eléments de programmation des macros" > donne un exemple d'utilisation de la fonction Shell, mais il y manque le > chargement de la bibliothèque dans laquelle se trouve cette fonction. > > Merci d'avance à qui voudra bien m'indiquer le nom de la bibliothèque à > charger > > Rémi Mathieu > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
