IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6-OOo]Open Office Calc


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Kokito
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2004
    Messages : 78
    Par défaut [VB6-OOo]Open Office Calc
    Salut tout le monde

    J'ai une petite question à propos d'openoffice calc.

    Lorsque j'ai un fichier excel, je fais comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Set MonExcel = New Excel.Application
        MonExcel.ReferenceStyle = xlR1C1
        Set MonClasseur = MonExcel.Workbooks.Open(CommonDialogFichier.FileName)
        Set MaFeuille = MonClasseur.Worksheets(1)
    Dans la variable MonExcel, j'ai bien le fichier sans que le fichier soit ouvert !

    Et en OOo Calc, je fais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Set serviceManager = CreateObject("com.sun.star.serviceManager")
        Set Desktop = serviceManager.createInstance("com.sun.star.frame.Desktop")
        Set Document = Desktop.LoadComponentFromURL(Fichier, "_blank", 0, args)
    Mais alors là, ca m'ouvre le fichier ...

    Question : est-il possible d'utiliser mon fichier OOo dans la variable "Document" sans pour autant être obligé d'ouvrir ce fichier avec ".LoadComponentFromURL" ?

    Vala, j'espere que c'est clair, c'est pas une question intéressante, je suis désolé

    Merci à tous

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    Dans la variable MonExcel, j'ai bien le fichier sans que le fichier soit ouvert !
    Tu es sur que le classeur n'est pas ouvert? Ne serait il pas ouvert et masqué ?



    michel

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    rebonjour


    S'il s'agit de garder l'application OOo masquée pendant le traitement, tu peux tester:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Sub Test()
    Dim serviceManager As Object, Desktop As Object, Document As Object
        Dim Fichier As String
        Dim Args(0) As Object
        Dim T As Date
     
        'Appel fonction de conversion
        Fichier = ConvertToURL("C:\Documents and Settings\mimi\LeClasseur.ods")
     
        'Création d'une instance Open Office
        Set serviceManager = CreateObject("com.sun.star.ServiceManager")
        Set Desktop = serviceManager.createInstance("com.sun.star.frame.Desktop")
     
        '-----------------------------------------------------------
        'Tableau pour les paramètres du mode masqué
        Set Args(0) = _
            serviceManager.Bridge_getStruct("com.sun.star.beans.PropertyValue")
     
        'Arguments Open Office pour masquer le fichier
        Args(0).Name = "Hidden" 'nom de l'argument
        Args(0).Value = True 'valeur de l'argument
     
        'Ouverture du fichier
        Set Document = _
            Desktop.loadComponentFromURL(Fichier, "_blank", 0, Args())
        '----------------------------------------------------------
     
        'Ecrit dans la cellule A1 de la feuille
        Document.getSheets.getByName("Feuille1").getCellRangeByName("A1").Value = 19
     
        '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)
     
        MsgBox "Opération terminée"
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Function ConvertToURL(Fichier As String)
    'fonction de conversion  au format URL
    Dim Cible As String
        Cible = Fichier
        Cible = Replace(Cible, "\", "/")
        ConvertToURL = "file:///" & Cible
    End Function



    michel

  4. #4
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 126
    Par défaut
    Citation Envoyé par SilkyRoad
    bonjour
    Tu es sur que le classeur n'est pas ouvert? Ne serait il pas ouvert et masqué ?
    Je pense aussi que ca vient de là, le propriété 'visible' de ton classeur doit être par défaut à 'false' au lieu de 'true'. Tu peux tester en debug pour en être sure !

  5. #5
    Membre confirmé Avatar de Kokito
    Homme Profil pro
    Inscrit en
    Février 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2004
    Messages : 78
    Par défaut
    Citation Envoyé par shaftJackson
    Je pense aussi que ca vient de là, le propriété 'visible' de ton classeur doit être par défaut à 'false' au lieu de 'true'. Tu peux tester en debug pour en être sure !
    Voui en fait c'est ca huhu


    Merci pour ton code SilkyRoad !!! C'est nickel !!!! Youpeee


    Merci à tous enfin à vous deux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro Open Office - Calc/Writer
    Par marie6631 dans le forum Débuter
    Réponses: 1
    Dernier message: 09/07/2010, 11h52
  2. problème de conversion Tableau Open Office Calc -> Latex
    Par plutonite dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 5
    Dernier message: 18/01/2010, 20h41
  3. [OpenOffice][Tableur] récupérer une instance ouverte d'Open Office Calc
    Par largoet dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 22/06/2009, 22h27
  4. Export table/requête vers open office calc
    Par lineaire dans le forum Access
    Réponses: 1
    Dernier message: 13/11/2007, 13h26
  5. [VB6][open office] lancer une macro
    Par tipiak03 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 08/03/2006, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo