begin process at 2012 02 17 11:11:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

General

 > 

Mettre en forme un fichier openoffice à partir de VB6


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mettre en forme un fichier openoffice à partir de VB6

samedi 7 octobre 2006 à 22:37:19 | Mettre en forme un fichier openoffice à partir de VB6

grand_dragon_rouge54

Bonjour à tous.

J'ai programmé une application VB6 qui va récolter des données dans une base access et les renvoie dans un fichier texte de openoffice (avec donc une extension .sxw).

Tout cela fonctionne très bien. 

Néanmoins, à partir de mon application VB6, je souhaiterai mettre n forme le texte du fichier texte en openoffice. Par exemple, mettre en gras, italique ou souligné du texte ou le centrer dans la page.... Ce genre de truc.

Queqlu'un connaîtrez t il les commande de programmation nécessaires ? Je suis aussi intéressé pour que cela fonctionne éventuellement  avec un fichier en Word...

De même, en plus des explications, un petit exemple serait super.

Je vous mets ci dessous un exemple de ma connection à la base et de la redistribution des données dans le document final.

Merci d'avance de votre aide car c'est très urgent. Mon patron pousse au c.l et veut ça pour avant hier.....

Merci à tous.

Nico.
__________________________________________

'Déclaration de la variable de connection
  Dim con As New ADODB.Connection
  Set con = New ADODB.Connection

'Connection a la base de données
  con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MaBase.mdb"

'Declaration de la variable de recorset
  Dim res As New ADODB.Recordset
  Set res = New ADODB.Recordset

'Ouverture de la connection
  con.Open

'Requete a effectuer : On récupére tous les enregistrement de la table nommée MaTable
  res.Open "select * from MaTable", con, adOpenDynamic, adLockOptimistic

'Ouverture du fichier OpenOffice Texte
Open "C:\MonFichier.sxw" For Output As #1

'Tant qu'on a pas atteint la fin des enregistrements retournés par la requête, on les parcours tous un par un
Do Until res.EOF

     Inscription dans le fichier du contenu d'un champ présent dans la requête ci dessus
     Print #1, "Contenu du champ :" & res!MonChamp                     Ce sont ces données que je souhaite par exemple mettre 
                                                                                                          en gras, italique,...

    'On passe à l'enregistrement suivant
    res.movenext

'On boucle tant qu'on a pas atteint le dernier enregistrement
Loop

'On ferme le fichier OpenOffice Texte
Close #1

'Fermeture de la connection à la base de données
   con.Close
dimanche 8 octobre 2006 à 08:30:59 | Re : Mettre en forme un fichier openoffice à partir de VB6

michelxld

bonjour

j'espere que cette procedure pourra t'aider (testé avec VB6 & OOo2.0.3 & WinXP)


Private Sub Command1_Click()
    Dim serviceManager As Object, oText As Object, oCursor As Object
    Dim Desktop As Object, Document As Object
    Dim Fichier As String
    Dim args()
    Dim T As Date
   
    'Attention à bien spécifier le format URL
    Fichier = " [ Lien ]"

    'Création d'une instance Open Office
    Set serviceManager = CreateObject("com.sun.star.serviceManager")
    Set Desktop = serviceManager.createInstance("com.sun.star.frame.Desktop")

   'Ouverture du fichier
    Set Document = Desktop.loadComponentFromURL(Fichier, "_blank", 0, args)
    Set oText = Document.GetText()
   
    'Création du curseur d'écriture
    Set oCursor = oText.createTextCursor
   
    'Déplace le curseur a la fin
    oCursor.gotoEnd (False)
   
    oCursor.CharWeight = 150 'Gras(100 pour normal)
    oCursor.CharPosture = 2 '(italique)  spécifier 0 pour normal
   
    'insère du texte et un saut de ligne a l'emplacement du curseur
    oText.insertString oCursor, "Les nouvelles informations" & vbLf, False
   
    'Enregistre les modifications
    Document.Store
    DoEvents
   
    '--------
    'ajoute une temporisation de 2 secondes pour empécher que le fichier
    'ne se ferme avant la fin de la création
    T = Timer + 2: Do Until Timer > T: DoEvents: Loop
    '--------

    'Fermeture du fichier
    'L'argument True indique que les modifications vont être sauvegardées à la fermeture
    Document.Close (True)
   
End Sub



bon week end
michel

lundi 9 octobre 2006 à 13:38:16 | Re : Mettre en forme un fichier openoffice à partir de VB6

grand_dragon_rouge54

Lorsque j'essaie, j'obtiens une erreur de type Run-time error '1001' avec le message d'erreur  comme suit : com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one.

Lorsque je lance le Debug de vb6, il me signale la ligne suivante comme erreur :
Set Document = Desktop.loadComponentFromURL(Fichier, "_blank", 0, args)

As tu une idée de ce qu'il faut changer ou faire ?

Merci.

Nico.





Que le VB soit avec vous...
lundi 9 octobre 2006 à 18:28:16 | Re : Mettre en forme un fichier openoffice à partir de VB6

michelxld

bonsoir

qu'a tu indiqué dans la variable "Fichier" ?

la syntaxe doit être

file:///C:/le repertoire/monFichier.sxw"

attention il s'agit de slashs /


michel

mercredi 11 octobre 2006 à 17:37:27 | Re : Mettre en forme un fichier openoffice à partir de VB6

grand_dragon_rouge54

Ah d'accord, j'avais fait une erreur de saisie...

Merci, c'est exactement ce que je cherchais.

Connaitrais tu la fonction qui permet de souligner le texte dans le fichier OpenOffice. ?

Merci d'avance.

Nico.




Que le VB soit avec vous...
mercredi 11 octobre 2006 à 17:56:05 | Re : Mettre en forme un fichier openoffice à partir de VB6

michelxld

bonsoir

dans ce cas tu peux ajouter

    oCursor.CharUnderline = 1 'soulignement simple
    'oCursor.CharUnderline = 2 'soulignement double


bonne soiree
michel


Cette discussion est classée dans : fichier, connection, con, openoffice, res


Répondre à ce message

Sujets en rapport avec ce message

Mettre en forme un fichier à l'aide de VB6 [ par grand_dragon_rouge54 ] Bonjour à tous. Aujourd'hui gros problème...   J'ai une application en vb6 qui récolte des données dans Comment insérer une image dans un fichier openoffice writer a partir de VB6 ? [ par grand_dragon_rouge54 ] Bonjour à tous.J'ai développé une ppalication vb6 qui va collecter des données dans une base de données access et qui les redistribue dans un fihcier Décompilation d'un fichier de ressource [ par dany108 ] Bonsoir à tous,j'ai compilé un fichier des ressource (.res) avec rc.exe il y quelques années.Je n'ai plus les fichiers originaux (sons et icones)Y a t Appeler une classe VB [ par Maroxye ] Bonjour à vous tous!Là, j'ai vraiment besoin de vous....Je commence toujours en VB.net/Asp.net.....Et je ne comprend pas la chose suivante, il s'agit Inseré un fichier dans les ressources [ par aurelien2723 ] Bonjour,Au même titre que cette fonction extrait des données des ressources :[code]Public Function ExtractDR(FileName As String, RType As String, RNum Lecture de fichier excel au format openoffice [ par Chronolode ] celui qui n'avance pas recule probleme de connection avec sql server 2000 [ par bloule ] Imports System.Data.SqlClientPublic Class Form1    Inherits System.Windows.Forms.Form    Dim con As New SqlConnection 'chaine de connection    Private fichier bd sur mon site [ par xarsoft ] bonjour, voila j'ai télécharger la source http://www.vbfrance.com/code.aspx?ID=47860 et j'aimerai que le fichier de la base de donnée soit sur mon sit Comment récupérer fichier rtf [ par slayer07 ] Bonjour, A l'aide d'un richtextbox, j'ouvre un fichier rtfOpenFileDialog1.ShowDialog()        RichTextBox2.LoadFile(OpenFileDialog1.FileName)Ensuite j Connection Access 2007 [ par corduroy ] Bonjour,j'essaye de me connecter en ADO à une base Access 2007. Mais au lieu de se connecter sur le driver Microsoft.Jet.OLEDB.4.0 il essaye de se con


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,668 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales