Discussion: Piloter Calc avec Visual Basic Express [OpenOffice][Tableur]

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2014
    Messages : 11
    Points : 7
    Points
    7

    Par défaut Piloter Calc avec Visual Basic Express

    Bonjour,

    Je cherche à mettre à jour les cellules d'un tableur par un programme Visual Basic Express.
    J'utilise un fichier Calc "modèle" que j'ouvre et dans lequel la lecture du contenu des cellules renvoie le résultat correct.
    Par contre, la mise à jour du contenu des cellules par la fonction .String ne fonctionne pas (le contenu de la cellule est identique avant et après l'affectation de valeur).

    Le souci ne semble pas lié à OpenOffice dans la mesure où le même programme me permet de modifier le contenu d'un document (writer) et enregistrer le résultat sans problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    oOnglet = .Document.getSheets.getByName(.LibelleOnglet)
    For intCol = 1 To UBound(strValues)
        oOnglet.getCellByPosition(intCol - 1, intLig - 1).String = strValues(intCol)
    Next intCol
    Avez-vous une idée svp ? Utilisation d'une fonction particulière, option de sécurité du classeur "modèle" mal positionnée ...

    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    mars 2003
    Messages
    1 185
    Détails du profil
    Informations forums :
    Inscription : mars 2003
    Messages : 1 185
    Points : 1 840
    Points
    1 840

    Par défaut

    Il n'y a pas besoin de piloter quoi que ce soit.
    Le format ODF est lisible et accessible depuis n'importe quel langage.
    Il est ainsi tout à fait possible de lire un document sans même ouvrir OpenOffice.
    Exemple avec du Powershell : http://beaussier.com/sections/viewtopic.php?f=7&t=1583
    Je pense que VB sait aussi le faire de la même manière.
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2014
    Messages : 11
    Points : 7
    Points
    7

    Par défaut

    Le terme "piloter" est peut être mal adapté en effet.

    Pour ce qui concerne le fonctionnement, je n'ai pas besoin d'ouvrir OpenOffice pour le traitement dont il est question. Je peux accéder au document et à son contenu via le programme Visual basic.
    Et ce n'est pas la lecture des informations qui me pose problème, mais la mise à jour.

    Merci quand même d'avoir répondu.

  4. #4
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    mars 2003
    Messages
    1 185
    Détails du profil
    Informations forums :
    Inscription : mars 2003
    Messages : 1 185
    Points : 1 840
    Points
    1 840

    Par défaut

    Citation Envoyé par b3401m Voir le message
    je n'ai pas besoin d'ouvrir OpenOffice pour le traitement dont il est question.
    Donc, je ne vois pas ce que votre question fait ici. Postez dans la section consacrée au VB.
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2014
    Messages : 11
    Points : 7
    Points
    7

    Par défaut

    C'est fait, j'ai posté la question dans le forum VB.

    Dans ma compréhension de la "philosophie" des forums, le problème était lié à la manière d'utiliser l'API OpenOffice plutôt que dans le langage VB "pur", dans le sens où c'est l'utilisation de .String (qui est un composant du "framework" OpenOffice) qui ne fonctionne pas.
    Ou comme je posais la question dans mon post initial, est-ce qu'il peut y avoir des subtilités de paramétrage du document Calc (que je ne maîtrise pas) et qui pourraient avoir un impact sur la modification du contenu de la cellule ?

    Mais tu as raison dans la mesure où c'est peut-être un problème lié aux références à OpenOffice dans VB ; mais dans ce cas, il y a de fortes chances que ça perturberait le fonctionnement des modifications du document writer, ce qui n'est pas le cas.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2014
    Messages : 11
    Points : 7
    Points
    7

    Par défaut

    A défaut de solution, j'ai trouvé la cause de l'erreur.
    Tout se passe comme si le programme ne détectait pas que le document ouvert est de type Calc et n'utilise pas correctement le .String.
    Pour cvontourner le problème, je pars donc d'un classeur vierge que je remplis sans utiliser le modèle existant.

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

Discussions similaires

  1. Réponses: 19
    Dernier message: 11/03/2014, 12h13
  2. Créer Activex avec Visual Basic express 2010
    Par saluts92 dans le forum VB.NET
    Réponses: 8
    Dernier message: 15/02/2012, 11h24
  3. connexion BD Oracle avec Visual Basic Express 2010
    Par hello_world88 dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/05/2011, 17h18
  4. Réponses: 9
    Dernier message: 18/11/2009, 15h37
  5. Problème de connection avec Visual Basic Express 2008
    Par qlaimand dans le forum Outils
    Réponses: 3
    Dernier message: 05/04/2009, 21h15

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