Bonjour,
Je ne pense pas que le filecopy copie toute une arborescence mais en
cherchant un peu voici un exemple qui fonctionne sous windows (désolée
mais je n'ai que çà).
En mettant la commande directement dans la fonction shell je n'ai pas
réussi à le faire fonctionner.
Sub Main
Dim MaCommand As String
MaCommand = "c:\moi\tmp\test.bat"
Shell (MaCommand)
End Sub
Le test.bat contient le xcopy. Moi je m'en sers pour sauvegarder les
dossier locaux de messagerie, donc je supprime d'abord l'arborescence
d'arrivée
@echo Sauvegarde des dossiers travail
@echo Veuillez patienter
@set VAR_DOC=G:\bureautique\temp.
@set VAR_DIR=G:\bureautique\temp
@set VAR_ORIG=G:\bureautique\tmp\*.*
@echo %VAR_DOC%
@if not exist %VAR_DOC% goto suite
@echo existe
@rd %VAR_DIR% /S /Q
@:suite
@md %VAR_DIR%
@xcopy %VAR_ORIG% %VAR_DIR% /Y /E
@echo fin de la sauvegarde
En espérant que cela te conviendra.
Claude
-------- Message original --------
*Sujet: *[INTERNET] Re: [fr-users] Recherche exemple de macro avec la
fonction Shell
*De : *linux <supsup.li...@free.fr>
*Pour : *PREF31 Libreoffice <pref-open-off...@haute-garonne.gouv.fr>
*Copie à : *users@fr.libreoffice.org, ddora...@dmaths.org
*Date : *16/08/2017 12:06
Merci,
pour cette réponse, je n'avais pas testé la fonction Filecopy, car je
pensais qu'elle ne copiait que des fichiers et non pas l'arborescence
complète d'un répertoire.
Peut être faut il corriger l'aide en précisant fichier et répertoire
? mais cela je ne sais pas faire
De même dans le livre de Laurent Godard et Bernard Marcelly mais j'ai
une vieille édition de 2005 .
Cordialement
Jean Luc
Instruction FileCopy [Exécution]
Copie un fichier _*ou un répertoire*_.
Syntaxe :
FileCopy TextFrom As String, TextTo As String
Paramètres :
*TextFrom :* expression au format chaîne de caractères spécifiant le
nom du fichier à copier. L'expression peut contenir, facultativement,
des informations relatives au chemin et à l'unité. Vous pouvez aussi
saisir un chemin en notation URL
<vnd.sun.star.help://sbasic/text/sbasic/shared/00000002.xhp?Language=fr&System=WIN&UseDB=no&DbPAR=sbasic>.
*TextTo :* expression au format chaîne de caractères spécifiant
l'emplacement où doit être copié le fichier source. L'expression peut
contenir l'unité de destination, le chemin et le nom du fichier, ou le
chemin en notation URL.
L'instruction FileCopy ne peut être appliquée que pour copier des
fichiers non ouverts.
Codes d'erreur
5 appel de procédure incorrect
76 chemin non trouvé
Exemple :
Sub ExampleFileCopy
FileCopy "c:\autoexec.bat", "c:\Temp\Autoexec.sav"
End Sub
Le 10/08/2017 à 09:34, PREF31 Libreoffice a écrit :
Bonjour,
Sous windows ( et que sous windows !!!) j'ai un traitement un peu
particulier (mais il correspond à mon besoin).
Je récupère d'abord dans une feuille les dossiers (CheminDepart) et
nom de fichiers (Nomfichier) concernés, j'y associe manuellement
(dans mon cas) le dossier d'arrivée (CheminArrivee )
et pour chaque fichier :
if Dir(CheminArrivee , 16) = "" Then
msgbox "Dossier : " & CheminArrivee & " inexistant"
else
if fileexists (CheminDepart & "\" & NomFichier) then
FileCopy CheminDepart & "\" & NomFichier,
CheminArrivee & "\" & NomFichier
Kill CheminDepart & "\" & NomFichier
else
msgbox CheminDepart & "\" & NomFichier & " n'existe pas"
endif
endif
Moi j'ai rajouté le Kill parce que je veux déplacer et que je n'ai
pas trouvé comment le faire.
J'ai déplacé ainsi
-------- Message original --------
*Sujet: *[INTERNET] Re: [fr-users] Recherche exemple de macro avec la
fonction Shell
*De : *linux <supsup.li...@free.fr>
*Pour : *bernard.schoenac...@free.fr, users@fr.libreoffice.org,
ddora...@dmaths.org
*Date : *10/08/2017 09:09
Merci Didier et Bernard de vous intéresser à mon problème,
Je suis sous windows 10 Libreoffice 4.4.7.2 usage professionnel
J'ai un grand nombre de macro développée en Basic langage que je
maitrise, ce qui est une autre affaire pour Python même si j'ai déjà
fait quelque programme sur d'autre environnement, c'est pourquoi il
me semble long et risqué de basculer de libreoffice basic en python.
Bernard la plus part des liens derrière ton lien me donne des
convertisseurs VBA vers python mais pas libreoffice basic vers
python est ce normal ?
Mais je reviens à ma problématique du jour:
Je souhaite à l'intérieure d'une macro libreoffice basic copier un
répertoire et l'ensemble de ses sous-répertoires, ne trouvant pas
dans libreoffice basic, j'ai pensé le faire avec shell et la
fonction Dos :Xcopy fonction qui fonctionne parfaitement sous
windows Powershell.
Je souhaite à l'intérieure d'une macro libreoffice basic lancer une
application tiers et revenir à la fermeture de celle-ci dans la
macro libreoffice basic en cours
et merci encore de votre aide
Cordialement
Jean-Luc
Le 09/08/2017 à 17:48, bernard.schoenac...@free.fr a écrit :
----- Mail original -----
De: "linux" <supsup.li...@free.fr>
À: users@fr.libreoffice.org
Envoyé: Mardi 8 Août 2017 08:52:28
Objet: [fr-users] Recherche exemple de macro avec la fonction Shell
Bonjour à tous,
Je suis à la recherche d'exemple de macro fonctionnant avec la
fonction
Shell.
Merci de votre aide
Jean Luc
--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous
désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés
publiquement et ne pourront pas être supprimés
bonjour,
évites d'employer le basic et passe à python ...
une foultitude d'exemples existent
https://lmgtfy.com/?q=from%20vba%20to%20python
et il existe un convertisseur ...
"open your mind without close windows"
slt
bernard
--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne
pourront pas être supprimés