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