Supprimer complètement les macros associées à un fichier

Bonjour ! :sunny:

Je migre petit à petit mes documents Google vers LibreOffice. :confetti_ball:

C’est le cas notamment d’une feuille de calcul sur laquelle était exécuté un script Google à chaque modification. Je me suis donc lancé dans la conversion de ce script en Macro, d’abord en Python puis en Basic.

J’ai finalement abandonné pour cause de complexité à reproduire le comportement que j’attendais.

J’ai donc créé un script Python qui fonctionne à l’extérieur de ce fichier.

J’ai donc les macros maintenant inutiles depuis Outils → Macros → Gérer les boites de dialogues… → onglet “Bibliothèque”. Mais j’ai toujours le message d’avertissement qui indique que des macros sont associées à ce fichier :

“Avertissement de sécurité. Le document contient des macros. etc.” :frowning_with_open_mouth:

J’aimerais bien me débarrasser de ce message à l’ouverture de ma feuille de calcul.

Je ne fais pas bien les choses ? Est-ce un problème connu ? Existe-t-il une solution ?

Merci d’avance pour votre aide ! :sparkles:

Bonjour Nozi et bienvenue !

Outre le conseil de @fpy , il pourra quand même rester des scories indécrochables.

Si c’est le cas, voici comment je fais (sur une copie du fichier à nettoyer, bien sûr) :
(trouvé ici : Removing macros - English - Ask LibreOffice)

  1. Il vous faut un éditeur de texte capable de montrer le XML de façon lisible (sous Windows : Notepad++ et le plug-in XMLTools ; sous Windows/Linux, Geany + plug-in PrettyPrinter XML). J’utilise Geany qui est vraiment très bien.
  2. Enregistrez le fichier au format “flat” (.FODS pour un tableur). Voir les types d’enregistrement. Ce type de fichier n’est pas compressé et tout est dans une seule méga structure XML. Le fichier résultat est donc potentiellement gros.
  3. Ouvrez le fichier .FODS directement avec l’éditeur XML kivabien (puis activez le plug-in ad hoc).
  4. Recherchez le noeud <office:scripts>
  5. Supprimez tout ce qui suit entre les balises suivantes, y compris ces deux balises :
<ooo:library-embedded ooo:name="Standard"> 
[several lines of xml and basic code]
</ooo:library-embedded>

Enregistrez et vérifiez.
Remettez ensuite le fichier au format ODS habituel.

il doit rester des Événements
cf aussi Événements de la feuille

Merci @jfn et @fpy !

Je n’avais pas les lignes <ooo:library-embedded ooo:name="Standard">, donc ok de côte-là :slight_smile:

Par contre, j’avais effectivement oublié l’évènement de la feuille ! Après suppression, plus aucun message d’avertissement. Merci encore :star_struck: