Bonjour,
Avec libreoffice 7.0.4.2 x64 sous windows 10 Mon problème est le suivant : j’utilise des liens DDE pour coller des parties de tableaux calc dans un document writer. J’ai fait l’opération par copier/collage spécial. Tout fonctionne correctement, tant que je suis sur mon ordinateur. Je dois transférer l’ensemble du travail (calc+writer) à une autre personne pour qu’elle continue le travail. Je dois transformer les liens absolus en liens relatifs. Je suis passé dans writer par édition/Liens vers des fichiers externes et dans la fenêtre j’ai essayé d’utiliser “Modifier fichier source” et de remplacer le chemin absolu par le chemin relatif. L’aide de la fonction mentionne que le chemin relatif doit être précédé par file:. j’ai donc pour un fichier dans le même répertoire tapé “file:./beug.ods”. une fois validé, j’ai un message m’indiquant “Le lien DDE de soffice pour file:./beug.ods zone Feuille1.A1:C1 n’est pas disponible.” et dans le tableau des liens dans la ligne correspondante j’ai la mention indisponible. Lorsque je clique sur le lien en bleu “file:./beug.ods” dans la fenêtre j’obtiens le message d"erreur suivant “:(com.sun.star.lang.IllegalArgumentException) { { { Message = “XSystemShellExecute.execute, getSystemPathFromFileURL <file:./beug.ods> failed with 21”, Context = (com.sun.star.uno.XInterface) @0 } }, ArgumentPosition = (short) 0 }.”
Une autre documentation indiquais qu’il fallait faire précéder le chemin relatif de “file://” j’ai testé aussi cette syntaxes et j’obtiens de résultats similaires.
Quelle est mon erreur?
En fichier joint : beug.ods d’où je copie le tableau de 3 cases et beug.odt et beug2.odt dans lesquels les 3 cases du tableau sont collées sous forme de lien DDE avec le résultat du collage que j’obtiens su mon PC. Les 3 fichiers sont dans un même répertoire beug.
beug.ods; beug.odt; beug2.odt
merci
Bonjour @Drgivus
Il y a en effet des problèmes, au mininum avec le concept sous-jacent… La bonne nouvelle est qu’une réflexion est en cours cf. ce rapport.
Actuellement, au moins avec windows, les liens sont enregistrés de manière absolue, quel que soit le paramétrage de l’option concernée.
Il existe toutefois un contournement (en attendant une meilleure gestion), modifier le lien via le menu Édition
▸Liens vers...
et saisir sous la forme : file:./NomClasseur.ods
Cordialement
Bonjour,
Merci pour votre réponse. Concernant le contournement je l’ai testé en mettant les liens sous la forme file:./beug.ods. le fonctionnement est “aléatoire” j’ai créé successivement deux fichiers simples pour y coller via un lien DDE 3cases d’un fichier calc. J’ai transformé les liens absolus en liens relatifs. Dans un des fichiers le lien relatif ne fonctionne pas et dans le deuxième il fonctionne. Dans les deux cas lorsque l’on clique sur le lien en bleu qui s’affiche dans la fenêtre de lien vers… j’ai un message d’erreur du type “:(com.sun.star.lang.IllegalArgumentException) { { { Message = “XSystemShellExecute.execute, getSystemPathFromFileURL <file:. beug.ods=””> failed with 21", Context = (com.sun.star.uno.XInterface) @0 } }, ArgumentPosition = (short) 0 }." que le statut du lien soit automatique ou indisponible.
J’ai transféré le répertoire sur un pc sous ubuntu avec office 6 et dans ce cas les 2 fichiers s’ouvrent correctement et les liens sont fonctionnels…
@Drgivus a écrit
Dans un des fichiers le lien relatif ne fonctionne pas et dans le deuxième il fonctionne
Les deux classeurs sont bien dans le même dossier que le doc writer ?
Si oui, pourrais-tu éditer ta question pour y joindre le classeur posant problème en indiquant quelle plage tu copies-colles avec liaison dans le doc. writer ?
Par ailleurs, pour info., tu peux “aller vérifier” ce qui est enregistré en dézippant l’odt puis en ouvrant le fichier content.xml dans un éditeur (notepad+ par ex). Rechercher le texte dde-item
.
Bonjour,
Donc tout est dans le même répertoire “beug” les fichiers ont des noms simple en moins de 8 caractères sans accent ni autre. j’ai mis à jour le post avec les fichiers. je vais faire un tour dans le xml!
A+
Dans beug.odt figure
- un premier tableau en lien relatif
file:./beug.ods
qui fonctionne donc normalement (après actualisation via F9) - un 2ème tableau qui, malgré son intitulé “Lien absolu cela fonctionne” n’est pas issu d’un lien (cf. le xml)
Dans beug2.odt idem pour le premier tableau, mais le deuxième est issu du lien E:\Desktop\ptovis\beug\beug.ods
et ne peut donc fonctionner car l’adressage relatif n’est possible que si le document source et le document référencé se trouvent sur le même lecteur (voir l’aide). Après modification pour file:./beug.ods
tout fonctionne normalement dans ma configuration.
Cordialement
Bonjour,
A partir de vos observations j’ai vérifié dans mes fichiers et sur des exemples le fonctionnement des DDE relatif. Sur des petits fichiers comme l’exemple envoyé, cela fonctionne. Par contre sur de fichiers “réels” qui incluent plusieurs liens DDE, les choses sont plus aléatoires. En fonction des mises à jour (F9 ou outil/actualiser/tout actualiser) en cours de travail. Les liens DDE relatifs repassent tout seuls de automatique à indisponible. Il faut les actualiser manuellement plusieurs fois (Edition/liens des fichiers externes) pour les refaire passer en automatique. Cela permet de dépanner.
@Drgivus ok… je pense que la réflexion en cours (cf. rapport cité dans ma réponse) permettra d’améliorer tout cela…