Bonjour à tous,
Je suis à la recherche d'exemple de macro fonctionnant avec la fonction Shell.
Merci de votre aide
Jean Luc
Bonjour à tous,
Je suis à la recherche d'exemple de macro fonctionnant avec la fonction Shell.
Merci de votre aide
Jean Luc
----- Mail original -----
De: "linux" <supsup.linux@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 ShellBonjour à tous,
Je suis à la recherche d'exemple de macro fonctionnant avec la
fonction
Shell.Merci de votre aide
Jean Luc
bonjour,
pour powershell :
https://lmgtfy.com/?q=macro+libreoffice+and+powershell
autrement sur le web vous trouverez des exemples pour python ou NetBean
slt
bernard
Merci Bernard,
Mais mon besoin concerne des macros écrite en basic
car toutes mes tentatives ne fonctionnent pas même avec la fonction simple Echo
Cordialement
Jean Luc
Bonjour,
Vous pouvez être plus précis ...
Quel OS ?
Quelle application ?
Cordialement.
----- Mail original -----
De: "linux" <supsup.linux@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 ShellBonjour à tous,
Je suis à la recherche d'exemple de macro fonctionnant avec la
fonction
Shell.Merci de votre aide
Jean Luc
--
Envoyez un mail à users+unsubscribe@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
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
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
*Pour : *bernard.schoenacker@free.fr, users@fr.libreoffice.org, ddorange@dmaths.org
Bonjour,
Le livre qu'il faut posséder : http://www.editions-eyrolles.com/Livre/9782212132472/programmation-openoffice-org-et-libreoffice
Voici deux macros adaptées qui en proviennent et qui permettent de piloter des objets COM.
Option Explicit
'Utilisation de MS Word depuis une macro LibreOffice
Sub loading_MSWord( )
Dim oword As Object, odoc As Object
oword = CreateObject("Word.Application")
' l'objet va utiliser l'API de Word
oword.Visible = True
odoc = oword.Documents.Add
odoc.Range.Text = "Hello World!"
Wait 5000
odoc.close
oword.quit
End Sub
'Utilisation d'Internet Explorer depuis une macro LibreOffice
Sub using_IE( )
Dim IE As Object
IE = CreateObject("InternetExplorer.Application.1")
' l'objet va utiliser l'API d'internet Explorer
IE.Visible = 1
IE.Navigate("http://fr.openoffice.org")
End Sub
Merci Didier pour ces deux exemples,
Le plus dur est d'avoir la bonne syntaxe pour chaque application externe!!
J'ai une vielle version du livre de Bernard et Laurent qui date de 2005
Cordialement
Jean Luc
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
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
*Pour : *PREF31 Libreoffice <pref-open-office@haute-garonne.gouv.fr>
*Copie à : *users@fr.libreoffice.org, ddorange@dmaths.org
Bonjour Claude
Si justement filecopy copie toute l'arborescence des répertoires plus les fichiers à l'intérieur, d'où ma remarque pour l'aide car elle ne parle que des fichiers et pas des répertoires.
Donc ton aide m'a permis de régler mon problème, un grand merci Claude
Cordialement
Jean-Luc