Bonjour Bernard,

Mon message précédent avait pour but de montrer certains emplacement au sein du document.

Pour ce qui concerne des manipulations via OOoBasic il est impératif de connaître des points d'entrée, des objets, des propriétés, etc.
Aussi je ne saurai que te conseiller l'achat du livre de Bernard Marcelly et de Laurent Godard concernant la programmation sous OpenOffice.
Voir à partir de ce lien :
http://fr.openoffice.org/Documentation/Index.html


Les pages 439 et suivantes, l'annexe B en page 631 et suivantes apportent des éléments de réponses.

Par ailleurs, il est également nécessaire, pour appréhender ces éléments, d'utiliser l'excellent outil réalisé et mis à disposition par Laurent Godard dénommé Xray disponible à partir de :
http://fr.openoffice.org/Documentation/How-to/Basic/XrayTool40_fr.sxw


Voici ce que l'on pourrait faire (à titre d'exemple) :

Sub RechercherImage()
Dim monDocument As Object, maPage As Object, monImage As Object
Dim titreBox As String, messageBox As String, nomImage As String
monDocument = thisComponent
' Les images sont localisées dans une page spéciale dénommée ci-dessous
maPage = monDocument.DrawPage
' saisi du nom de l'image à rechercher
nomImage = InputBox("Nom de l'image : ","Recherche d'une image")
' appel de la fonction de recherche
monImage = FindObjectByName(maPage, nomImage)
if IsNull(monImage) then
titreBox = "Recherche " & nomImage
messageBox = "L'image " & nomImage & " n'a pas été trouvée."
msgbox(messageBox,48,titreBox)
else
titreBox = "L'image " & nomImage & " a été trouvée."
messageBox = "La propriété monImage.Name = " & monImage.Name & chr(10)
messageBox = messageBox & "La propriété monImage.AlternativeText = " & monImage.AlternativeText & chr(10)
'messageBox = messageBox & "La propriété monImage.GraphicURL = " & monImage.GraphicURL
msgbox(messageBox,,titreBox)
monDocument.CurrentController.Select(monImage)
end if
End Sub


' retrouve un objet à partir de son nom
Function FindObjectByName(unePage As Object, _
nomObj As String, Optional service As String) As Object
Dim objX As Object, x As Long
For x = 0 To unePage.Count - 1
objX = unePage(x)
' pour éviter les problèmes de casse on convertit la chaine en majuscules
' on pourrait ici tester également les approximations
If Ucase(objX.Name) = Ucase(nomObj) Then
if IsMissing(service) then
FindObjectByName = objX ' objet trouvé
Exit Function
else
if objX.supportsService(service) then
FindObjectByName = objX ' objet trouvé
Exit Function
end if
end if
EndIf
Next
End Function


Bonne chance.

François

Bernard Gacongne a écrit :
Bonjour François

Merci de tes précisions, je pensais trouver dans OOoBasis une fonction pour extraire directement ces infos et pouvoir les traiter en direct, la version que tu propose oblige à travailler avec une version décompressée du fichier texte, c'est moins direct mais c'est vivable.

Merci. Bernard.

--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Répondre à