2 messages in org.openoffice.fr.prog[prog] export de formulaire
FromSent OnAttachments
Sharpminded GmailJun 14, 2009 4:18 am 
Thibault VataireJun 15, 2009 6:16 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[prog] export de formulaireActions...
From:Sharpminded Gmail (shar@gmail.com)
Date:Jun 14, 2009 4:18:36 am
List:org.openoffice.fr.prog

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