Bonjour,

Après quelques mois d'absence, je me remet doucement dans l'api de
OOo. Néanmoins, je sèche sur un petit soucis :
A partir d'un formulaire de Base, je cherche à "copier" le contenu
d'un rowset dans un tableur. Je parts de cette macro :

Sub ExporterVersTableur()

Dim oDesk As Object
Dim oDoc As Object
Dim oSheet As Object
Dim obFrmApp As Object
Dim iLigne As Integer

' ouvre un document calc vide
oDesk = createUnoService("com.sun.star.frame.Desktop")
oDoc = oDesk.loadComponentFromURL("private:factory/scalc", "_blank",
0, Array() )
oSheet = oDoc.sheets(0) ' la première feuille de calcul

' récupère le formulaire concerné
'Dim obConnexionActive As Object
obFrmApp = 
thisComponent.DrawPage.Forms.getByName("frmZoneDep").getByName("frmApp")
'obConnexionActive = obFrmApp.ActiveConnection

' écrit la première ligne de titres des colonnes
iLigne = 0
oSheet.getCellByPosition(0,iLigne).setString("Noms des apprenants")
oSheet.getCellByPosition(1,iLigne).setString("Prénoms des apprenants")

' positionne sur le premier enregistrement
If obFrmApp.first() Then
        iLigne = 1
        ' écrit chaque enregistrement sur une nouvelle ligne
        Do
                
oSheet.getCellByPosition(0,iLigne).setString(obFrmApp.getString(2))
                
oSheet.getCellByPosition(1,iLigne).setString(obFrmApp.getString(3))
                iLigne = iLigne + 1
        Loop While obFrmApp.next()
End If
End Sub

A termes, je souhaite ajouter un argument 'form' à cette procédure, et
la modifier de telle sorte quelle récupère à partir de ce formulaire :
-le nombre de champs du formulaire,
-le nom de chacun d'eux,
-le type de chacun d'eux.
Auriez-vous quelques conseils / fonctions / pointeurs pour me guider
dans cette tache ?

sharpminded

---------------------------------------------------------------------
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Répondre à