Ajout d'une macro après Génération ODT

Bonjour à Tous,

Première participation, c’est un grand jour pour moi.
Voici mon sujet :
- je génère des factures ou propale sous ODT.
- j’ai configuré pour générer automatiquement des fichiers PDF par la suite

Jusque là tout va bien.

Je me suis dit, pourquoi ne pas exécuter une macro qui me permettrait de réaliser d’autre type d’action.

Donc j’ai commencé par tester un fichier php qui exécute une macro libre office
La macro :
[i]Sub TestMacro(ps_Document as string)
dim f as Integer
f = freefile

open "d:\TestMacro.txt" for append as f
write #f, Time & " Test macro, file=[" & ps_Document & "]"
close #f

end sub
[/i]

Le fichier php :
[i]<?php

	$File = "'C:///Mon Fichier.txt'";
	
	$command = 'soffice -headless  "macro:///lib_Kodiris.mod_Dolibarr.TestMacro('.$File.')"';
	$result = shell_exec($command);

?>
[/i]

Ca, ça marche.

Par contre, quand j’ajoute le même code dans odf.php, dans la function exportAsAttachedPDF, le retour de fonction est 0, mais çà ne marche pas : le fichier de test ne s’écrit pas.
Quelqu’un aurait il une idée ?

En vous remerciant…

Oliv’

Bonjour :happy:

vous rencontrez probablement des problèmes d’autorisation d’accès au répertoire du fichier que vous voulez générer
avez vous essayé de placer le fichier dans un répertoire où Dolibarr dispose des autorisations d’accès
par exemple dans « C:\dolibarr\dolibarr_documents »

Bonne continuation

Bonjour,

Merci pour la réponse.
J’ai fait tellement de test que je ne sais plus où j’en suis. :confused:
Je vais en refaire en testant votre idée.

Salut

Je pense que j’ai approfondi : le soucis serait que l’environnement d’exécution du fichier php correspond à un autre utilisateur que le mien.
Si bien que lorsque je lui dis d’utiliser une macro dans ma bibliothèque, il ne la trouve pas.

J’ai bien essayé d’utiliser une macro située dans un fichier, pour contourner ce problème mais le processus LibreOffice reste ouvert et rien ne se passe plus alors qu’il y a une commande de fermeture de libreoffice dans ma macro…

Il faut ajouter que quand je lance une macro en ligne de commande, il y a une fenêtre libreoffcie qui apparait furtivement , même si j’ai mis les paramètres -invisible ou -NoHeader. Peut -être est-ce un soucis …

Voilà où j’en suis…

.

Salut

Je pense que j’ai approfondi : le soucis serait que l’environnement d’exécution du fichier php correspond à un autre utilisateur que le mien.
Si bien que lorsque je lui dis d’utiliser une macro dans ma bibliothèque, il ne la trouve pas.

J’ai bien essayé d’utiliser une macro située dans un fichier, pour contourner ce problème mais le processus LibreOffice reste ouvert et rien ne se passe plus alors qu’il y a une commande de fermeture de libreoffice dans ma macro…

Il faut ajouter que quand je lance une macro en ligne de commande, il y a une fenêtre libreoffcie qui apparait furtivement , même si j’ai mis les paramètres -invisible ou -NoHeader. Peut -être est-ce un soucis …

Voilà où j’en suis…

.

Il y a avait deux sujets qui sont partis. Merci d’aller sur le fil : Macro libre office lors de la génération PDF.
Merci