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

OpenOffice & LibreOffice Discussion :

Lancement d'une sub par une sub entraînant un pb de définition


Sujet :

OpenOffice & LibreOffice

  1. #1
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut Lancement d'une sub par une sub entraînant un pb de définition
    Bonjour

    La fonction suivante fonctionne :

    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
    sub TablesFormat
    dim dyntab, dyntabb as object
    dim dyntabbl as new com.sun.star.table.BorderLine
    with dyntabbl
    	.Color = RGB(0, 0, 255)
    	.InnerLineWidth = 12
    	.LineDistance = 12
    	.OuterLineWidth = 12
    end with
    dyntab=ThisComponent.TextTables.getByIndex(0)
    dyntabb=dyntab.TableBorder
    dyntabb.LeftLine = dyntabbl
    dyntabb.RightLine = dyntabbl
    dyntabb.TopLine = dyntabbl
    dyntabb.BottomLine = dyntabbl 
    dyntabb.HorizontalLine = dyntabbl 
    dyntabb.VerticalLine = dyntabbl 
    dyntab.TableBorder = dyntabb 
    end sub
    Mais si j'appelle TablesFormat() à partir d'une autre sub :

    * dyntabb.LeftLine = dyntabbl génère un message de variable d'objet non définie

    * si, ensuite, je lance TablesFormat() en direct, j'ai le même message, alors que je n'avais pas ce message avant de lancer TablesFormat() à partir d'une autre sub

    Avez-vous une idée ?

    Merci

  2. #2
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Salut,

    As-tu essayé avec :
    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
    sub TablesFormat 
    dim dyntab, dyntabb as object
    dim dyntabbl as new com.sun.star.table.BorderLine
    with dyntabbl
        .Color = RGB(0, 0, 255)
        .InnerLineWidth = 12
        .LineDistance = 12
        .OuterLineWidth = 12
    end with
    dyntab=ThisComponent.TextTables.getByIndex(0)
    dyntabb=dyntab.TableBorder
    with dyntabb
       .LeftLine = dyntabbl
       .RightLine = dyntabbl
       .TopLine = dyntabbl
       .BottomLine = dyntabbl 
       .HorizontalLine = dyntabbl 
       .VerticalLine = dyntabbl 
    end with
    dyntab.TableBorder = dyntabb  end sub
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

  3. #3
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut
    ça ne marche pas non plus.
    C'est comme si le croisement de sub posait problème avec TableBorder
    Par exemple dyntab.HeaderRowCount=1 ne pose aucun problème

  4. #4
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut
    J'ai l'impression que c'est le fait d'utiliser par ailleurs le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim options(1) As New com.sun.star.beans.PropertyValue
    options(0).Name = "LoadPageStyles"
    options(0).Value = True
    options(1).Name = "OverwriteStyles"
    options(1).Value = False
    if(FileExists( ConvertToURL( .... ) )) then
    	ThisComponent.StyleFamilies.loadStylesFromURL(convertToURL(...), options())
    end if
    qui crée le problème. Ce code marche bien, mais si je lance après TableFormat() (en direct ou via une autre sub) le problème apparaît.
    Si je ne lance pas ce code, TableFormat() marche bien, en direct ou via une autre sub.
    C'est comme si l'utilisation de options() créait la perturbation.
    Si je mets un ' devant ThisComponent.StyleFamilies.loadStylesFromURL(convertToURL(...), options()), le problème disparait.

  5. #5
    Pgs
    Pgs est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Points : 100
    Points
    100
    Par défaut
    Je pense que j'ai trouvé le problème (mais pas la solution)
    Je récupère un style de page dont l'entête contient un tableau.
    Lorsque je lance ensuite une routine de formatage de TableBorder de tous les tableaux du document, elle plante.
    Si crée une condition sur le nom de tableau pour le pas traiter le tableau qui est dans l'entête, plus de problème...

  6. #6
    Rédacteur

    Avatar de zoom61
    Homme Profil pro
    ...
    Inscrit en
    Janvier 2005
    Messages
    9 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : ...
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 9 429
    Points : 58 222
    Points
    58 222
    Billets dans le blog
    11
    Par défaut
    Cela peut venir aussi d'un seul tableau... exécute ton code en pas à pas.
    N'oubliez pas le Tag afin de faciliter la recherche, et en votant cela permet de mieux la cibler.

    Je ne réponds pas aux messages privés s'ils sont liés à une question technique

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/06/2009, 15h09
  2. Réponses: 3
    Dernier message: 07/08/2008, 13h19
  3. Réponses: 4
    Dernier message: 31/10/2007, 20h27
  4. masquer une partie d'une vidéo par une banniere
    Par lezabour dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2006, 16h47
  5. Réponses: 11
    Dernier message: 05/10/2006, 13h20

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