lundi 20 octobre 2008

Utiliser conjointement OOo 2.4. et 3.0.

Lors du passage de la version 1.1. à la version 2.0., je n'ai eu aucun problème pour distinguer les fichier que j'avais créés avec la version précédente... En effet, l'extension et le format des fichiers changeant il était facile de savoir d'où nous en étions.

Aujourd'hui, en migrant de la 2.4. à la 3.0, un souci se pose. Comment faire pour ouvrir un fichier avec la bonne application ?

Plantons le décor...
Un collègue vous envoie un fichier odt et vous ne savez pas s'il dispose de la version 3.0. Si vous le modifiez avec la version 2.4. et que le fichier a été généré, vous risquez sans le savoir [en effet, après avoir refusé une fois la mise à jour de OOo, vous ne serez plus averti] de perdre des informations ou de modifier la mise en page. Si vous le modifiez avec la version 3.0 et que ce fichier a été généré par la version 2.4., là aussi vous risquez de l'endommager [en particulier, si c'est un odp !]...

Pour résoudre ce problème, je me suis écrit une petite macro.
Malheureusement, le chemin d'accés à OOo 2.4. est écrit en dur dans le code, celui-ci ne pourra convenir qu'aux utilisateurs Windows XP.

Sub TestOuvertureDoc
Dim oDoc As object
Dim sInfo As string
Dim sURLDoc As string

oDoc = ThisComponent
sInfo = oDoc.documentInfo.Generator
sURLDoc = oDoc.URL
if sInfo<>"" and Left(sInfo,16)<>"OpenOffice.org/3" then
if MsgBox("Ce fichier n'a pas été généré par OpenOffice.org 3" & Chr(13) & "« " & sInfo & " »" &_
Chr(13) & Chr(13) & "Cliquez sur « Annuler », pour l'ouvrir avec OpenOffice.org 2.4.",_
1)=2
then
oDoc.close(True)
Shell(convertToURL("C:\Program Files\OpenOffice.org 2.4\program\soffice") & " " & sURLDoc ,1)
end if
end if
End Sub
Pour profiter de ce code, suivez la procédure suivante...
  1. Ouvrir la fenêtre Macros OpenOffice.org Basic à l'aide de la commande Outils/ Macros/ Gérer les macros/ OpenOffice.org Basic
  2. Compléter le champ Nom de la macro par TestOuvertureDoc [se placer sous Mes macros/ Standard] et cliquer sur Nouveau
  3. Copier/coller le code ci-dessus
  4. Ouvrir la fenêtre Personnaliser à l'aide de la commande Outils/ Personnaliser
  5. Dans l'onglet Événements, sélectionner l'événement Ouverture de document, cliquer sur le bouton Macro et choisir votre macro [qui devrait se trouver sous Mes macros/ Standard/ Module 1]
  6. Fermer les fenêtres
  7. Sauvegarder vos macros
Si je n'ai rien oublié [et vous non plus], vous devriez être averti de l'ouverture d'un fichier qui n'a pas été généré par OOo 3.0 puis pouvoir le réouvrir avec OOo 2.4

A bientOOot

Aucun commentaire: