| auteurs : blondelle, pottiez, Atlantis |
Voici comment obtenir le nombre de feuilles du classeur Calc:
La fonction GetCount permet d'obtenir le nombre de feuilles contenues dans le classeur.
Variant vOOoMonClasseur;
int vOOoNombreDeFeuilles;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoNombreDeFeuilles = vOOoMonClasseur.OleFunction (" GetCount " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Pour protéger la feuille calc
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByIndex " , 0 );
vOOoMaFeuille.OleFunction (" protect " , " password " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici comment déprotéger une feuille calc
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByIndex " , 0 );
vOOoMaFeuille.OleFunction (" Unprotect " , " password " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici comment tester si une feuille est protegée calc
Boolean vOOoprotect;
vOOoprotect = vOOoMaFeuille.OleFunction (" Isprotected " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici comment rendre invisible ou visible une feuille calc
Les feuilles de calcul contiennent la propriété IsVisible qui permet d'afficher ou masquer la feuille dans le classeur.
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByIndex " , 0 );
vOOoMaFeuille.OlePropertySet (" IsVisible " , false );
vOOoMaFeuille.OlePropertySet (" IsVisible " , true );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici comment accéder à une feuille Calc par son index dans ce cas on sélectionne la première feuille.
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByIndex " , 0 );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Toutes les QR suivantes sont basées sur une variable "MaFeuille" représentant une feuille du classeur ouvert.
On peut utiliser le nom de la feuille pour accéder à cette variable. Ce nom est celui qui apparaît dans l'onglet de la feuille (fonction GetByName) :
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
On doit utiliser le nom de la feuille pour pouvoir la supprimer. Ce nom est celui qui apparaît dans l'onglet de la feuille.
Variant vOOoMonClasseur;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMonClasseur.OleFunction (" RemoveByName " , " Feuille1 " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici comment dupliquer une feuille Calc:
En utilisant la fonction CopyByName(Source, Copie, IndexCopie);
Source correspond au nom situé dans l'onglet de la feuille à copier
Copie correspond au nom de la nouvelle feuille qui va figurer dans l'onglet de cette feuille
IndexCopie correspond à la position de la nouvelle feuille créée
Variant vOOoMonClasseur;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMonClasseur.OleFunction (" copyByName " , " Feuille1 " , 2 );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici comment déplacer une feuille Calc:
En utilisant la fonction MoveByName(Feuille : string, NouvelIndex: integer);
Variant vOOoMonClasseur;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMonClasseur.OleFunction (" moveByName " , " Feuille1 " , 3 );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Comment ajouter une feuille dans mon classeur ?
La fonction InsertNewByName permet d'ajouter une feuille dans le classeur.
Function insertNewByName(Nom : string, index : integer);
La valeur de Index correspond à la position de la feuille dans le classeur
Variant vOOoMonClasseur;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMonClasseur.OleFunction (" InsertNewByName " , " Nom_de_la_Nouvelle_Feuille " , 0 );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici comment obtenir le nom d'une feuille Calc.
La méthode GetName permet d'obtenir le nom de chaque feuille :
Variant vOOoMonClasseur;
String vOOoNomDeLaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoNomDeLaFeuille = vOOoMonClasseur.OleFunction (" getByIndex " , 0 ).OleFunction (" GetName " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici comment renommer une feuille Calc
Pour modifier le nom qui apparaît dans l'onglet de la feuille il suffit de modifier la propriété Name de la feuille :
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByIndex " , 0 );
vOOoMaFeuille.OlePropertySet (" Name " , " Nouveau_Nom_de_la_Feuille " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Pour récupérer le type de donnée stockée dans une cellule, il suffit d'appeler la méthode GetType par l'intermédiaire d'une variable Cellule
Cette méthode retourne :
0 pour une Cellule Vide
1 pour une Cellule contenant une valeur de type Nombre
2 pour une Cellule contenant une valeur de type Chaine de caractère
3 pour une Cellule contenant une valeur de type Formule
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
int vOOoresult;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoresult = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 ).OleFunction (" GetType " );
switch (vOOoresult)
{
case 0 :
ShowMessage (" Cellule Vide " );
return ;
case 1 :
ShowMessage (" Cellule contenant un Nombre " );
return ;
case 2 :
ShowMessage (" Cellule contenant une chaine de caractère " );
return ;
case 3 :
ShowMessage (" Cellule contenant une formule " );
return ;
}
|
|
| auteurs : blondelle, pottiez, Atlantis |
Pour effectuer une copie d'une plage de cellules, nous devons définir la plage de cellule source (objet de classe com.sun.star.table.CellRangeAddress) et l'adresse de la cellule de destination (objet de classe com.sun.star.table.CellAddress).
Ensuite nous allons utiliser la fonction CopyRange(madestination, maselection)
madestination correspond à l'objet dans lequel nous avons défini la cellule de destination
Maselection correspond à l'objet dans lequel nous avons défini la plage de cellules
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoMaDestination;
Variant vOOoMaPlage;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMaDestination = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.table.CellAddress " );
vOOoMaPlage = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.table.CellRangeAddress " );
vOOoMaDestination.OlePropertySet (" Sheet " , 0 );
vOOoMaDestination.OlePropertySet (" Column " , 5 );
vOOoMaDestination.OlePropertySet (" Row " , 5 );
vOOoMaPlage.OlePropertySet (" Sheet " , 0 );
vOOoMaPlage.OlePropertySet (" StartColumn " , 0 );
vOOoMaPlage.OlePropertySet (" StartRow " , 0 );
vOOoMaPlage.OlePropertySet (" EndColumn " , 1 );
vOOoMaPlage.OlePropertySet (" EndRow " , 1 );
vOOoMaFeuille.OleFunction (" CopyRange " , vOOoMaDestination, vOOoMaPlage);
|
|
| auteurs : blondelle, pottiez, Atlantis |
Pour effectuer un déplacement d'une plage de cellules, nous devons définir la plage de cellule source (objet de classe com.sun.star.table.CellRangeAddress) et l'adresse de la cellule de destination (objet de classe com.sun.star.table.CellAddress).
Ensuite nous allons utiliser la fonction MoveRange(madestination, maselection) .
madestination correspond à l'objet dans lequel nous avons défini la cellule de destination.
Maselection correspond à l'objet dans lequel nous avons défini la plage de cellules.
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoMaPlage;
Variant vOOoMaDestination;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMaDestination = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.table.CellAddress " );
vOOoMaPlage = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.table.CellRangeAddress " );
vOOoMaDestination.OlePropertySet (" Sheet " , 0 );
vOOoMaDestination.OlePropertySet (" Column " , 5 );
vOOoMaDestination.OlePropertySet (" Row " , 5 );
vOOoMaPlage.OlePropertySet (" Sheet " , 0 );
vOOoMaPlage.OlePropertySet (" StartColumn " , 0 );
vOOoMaPlage.OlePropertySet (" StartRow " , 0 );
vOOoMaPlage.OlePropertySet (" EndColumn " , 5 );
vOOoMaPlage.OlePropertySet (" EndRow " , 5 );
vOOoMaFeuille.OleFunction (" moveRange " , vOOoMaDestination, vOOoMaPlage);
|
|
| auteurs : blondelle, pottiez, Atlantis |
Voici un exemple de fusion et d'annulation de fusion pour la plage de cellules A1:B1
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
if (vOOoMaFeuille.OleFunction (" getCellRangeByName " , " A1:B1 " ).OleFunction (" Getismerged " ))
{
vOOoMaFeuille.OleFunction (" getCellRangeByName " , " A1:B1 " ).OleFunction (" merge " , false );
}
else
{
vOOoMaFeuille.OleFunction (" getCellRangeByName " , " A1:B1 " ).OleFunction (" merge " , true );
}
|
La fonction GetIsMerged permet de savoir si la sélection de cellules est fusionnée ou non.
La fonction merge, quand a elle, permet de basculer l'état de la sélection de fusionné à non fusionné.
|
| auteurs : blondelle, pottiez, Atlantis |
La suppression de cellules dans une feuille de calcul se passe en 2 temps.
Dans un premier temps, nous devons définir la plage de cellules que nous voulons supprimer à l'aide d'un objet de classe com.sun.star.table.CellRangeAddress
Ensuite nous allons utiliser la fonction RemoveRange(MaPlage, ModeDeSuppression)
MaPlage correspond à l'objet dans lequel nous avons défini la plage de cellules
ModeDeSuppression définit la manière dont se comporte le contenu des cellules sélectionnées. Sa valeur peut être :
1 : Les cellules se trouvant en dessous prennent la place des cellules supprimées.
2 : Les cellules se trouvant à droite prennent la place des cellules supprimées.
3 : Supprime les lignes entières de la sélection
4 : Supprime les colonnes entières de la sélection
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoMaPlage;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMaPlage = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.table.CellRangeAddress " );
vOOoMaPlage.OlePropertySet (" Sheet " , 0 );
vOOoMaPlage.OlePropertySet (" StartColumn " , 0 );
vOOoMaPlage.OlePropertySet (" StartRow " , 0 );
vOOoMaPlage.OlePropertySet (" EndColumn " , 5 );
vOOoMaPlage.OlePropertySet (" EndRow " , 5 );
vOOoMaFeuille.OleFunction (" removeRange " , vOOoMaPlage, 1 );
|
Pour effacer simplement des colonnes il existe une autre technique qui ne nécessite pas la création d'une plage de cellules.
Nous allons utiliser la fonction RemoveByIndex(Indexdecolonne, NombredeColonne)
IndexDeColonne : est l'index de la première colonne effacée.
NombreDeColonne : Nombre de Colonnes que vous voulez effacer
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoMesColonnes;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMesColonnes = vOOoMaFeuille.OleFunction (" GetColumns " );
vOOoMesColonnes.OleFunction (" removeByIndex " , 1 , 1 );
|
Nous pouvons faire de même pour la suppression de lignes
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoMesLignes;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMesLignes = vOOoMaFeuille.OleFunction (" GetRows " );
vOOoMesLignes.OleFunction (" removeByIndex " , 1 , 1 );
|
|
| auteurs : blondelle, pottiez, Atlantis |
L'insertion de cellules dans une feuille de calcul se passe en 2 temps.
Dans un premier temps, nous devons définir la plage de cellules que nous voulons insérer à l'aide d'un objet de classe com.sun.star.table.CellRangeAddress
Ensuite nous allons utiliser la fonction InsertCells(MaPlage, ModeDInsertion)
MaPlage correspond à l'objet dans lequel nous avons défini la plage de cellules
ModeDInsertion définit la manière dont se comporte le contenu des cellules sélectionnées sa valeur peut être :
1 : Déplace la plage de cellules vers le bas
2 : Déplace la plage de cellules vers la droite
3 : Insère des lignes entières
4 : Insère des colonnes entières
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoMaPlage;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMaPlage = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.table.CellRangeAddress " );
vOOoMaPlage.OlePropertySet (" Sheet " , 0 );
vOOoMaPlage.OlePropertySet (" StartColumn " , 0 );
vOOoMaPlage.OlePropertySet (" StartRow " , 0 );
vOOoMaPlage.OlePropertySet (" EndColumn " , 5 );
vOOoMaPlage.OlePropertySet (" EndRow " , 5 );
vOOoMaFeuille.OleFunction (" insertCells " , vOOoMaPlage, 1 );
|
Pour insérer simplement des colonnes il existe une autre technique qui ne nécessite pas la création d'une plage de cellules.
Nous allons utiliser la fonction InsertByIndex(IndexDeColonne, NombreDeColonne)
IndexDeColonne : est l'index de la première colonne insérée.
NombreDeColonne : Nombre de Colonnes que vous voulez insérer
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoMesColonnes;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMesColonnes = vOOoMaFeuille.OleFunction (" GetColumns " );
vOOoMesColonnes.OleFunction (" insertByIndex " , 1 , 1 );
|
Nous pouvons faire de même pour l'insertion de lignes
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoMesLignes;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMesLignes = vOOoMaFeuille.OleFunction (" GetRows " );
vOOoMesLignes.OleFunction (" insertByIndex " , 1 , 1 );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Une plage de cellules est contenue dans un objet de classe com.sun.star.table.CellRangeAddress
Propriétés de l'objet com.sun.star.table.CellRangeAddress :
Sheet : Index de la feuille de calcul dans laquelle nous définissons la plage (0 pour la feuille 1)
StartColumn : Index de la colonne de départ de la sélection
EndColumn : Index de la colonne de fin de la sélection
StartRow : Index de la Ligne de départ de la sélection
EndRow : Index de la Ligne de départ de la sélection
Pour créer un objet de cette classe, nous devons utiliser l'API de reflections
Variant vOOoCoreReflection;
Variant vOOoMaPlage;
vOOoMaPlage = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.table.CellRangeAddress " );
vOOoMaPlage.OlePropertySet (" Sheet " , 0 );
vOOoMaPlage.OlePropertySet (" StartColumn " , 0 );
vOOoMaPlage.OlePropertySet (" StartRow " , 0 );
vOOoMaPlage.OlePropertySet (" EndColumn " , 5 );
vOOoMaPlage.OlePropertySet (" EndRow " , 5 );
|
|
| auteurs : blondelle, pottiez, MFDev |
Pour récupérer la valeur d'une cellule, il suffit d'appeler la méthode GetValue.
Par l'intermédiaire d'une variable Cellule :
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoCellule;
int vOOoresult;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoCellule = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 );
vOOoresult = vOOoCellule.OleFunction (" GetValue " );
|
Ou directement en utilisant la feuille :
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
int vOOoresult;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoresult = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 ).OleFunction (" GetValue " );
|
|
| auteurs : blondelle, pottiez, Atlantis |
La couleur d'arrière plan est stockée dans la propriété CellBackColor au format RVB (Rouge Vert Bleu) Si la cellule ne doit pas contenir de couleur de remplissage, la propriété IsCellBackgroundTransparent, doit être basculée à True.
Exemple pour définir la couleur suivante :
La couleur choisie est constituée de la manière suivante :
Rouge : 187 en décimales, soit la valeur BB en Hexadécimal
Vert : 187 en décimales, soit la valeur BB en Hexadécimal
Bleu : 255 en décimales, soit la valeur FF en Hexadécimal
Pour définir cette couleur comme arrière plan de la cellule, il faudra passer la valeur $BBBBFF ($RougeVertBleu en hexadécimal)
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoCellule;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoCellule = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 );
vOOoCellule.OleFunction (" setPropertyValue " , " IsCellBackgroundTransparent " , false );
vOOoCellule.OleFunction (" setPropertyValue " , " CellBackColor " , 0xBBBBFF );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Les informations de protection sont stockées dans un objet de type com.sun.star.util.CellProtection
1 Propriété IsHidden de type boolean
Masque les formules et le contenu des cellules sélectionnées.
2 Propriété IsLocked de type boolean
Empêche toute modification des cellules sélectionnées.
3 Propriété IsFormulaHidden de type boolean
Masque les formules dans les cellules sélectionnées.
4 Propriété IsPrintHidden de type Boolean
Empêche l'impression des cellules sélectionnées.
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoCellule;
Variant vOOoprotection;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoCellule = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 );
vOOoprotection = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.util.CellProtection " );
vOOoprotection.OlePropertySet (" IsHidden " , false );
vOOoprotection.OlePropertySet (" IsPrintHidden " , true );
vOOoprotection.OlePropertySet (" IsLocked " , true );
vOOoprotection.OlePropertySet (" IsFormulaHidden " , true );
vOOoCellule.OleFunction (" setPropertyValue " , " CellProtection " , vOOoprotection);
|
|
| auteurs : blondelle, pottiez, Atlantis |
Pour affecter une valeur à une cellule il suffit d'appeler la méthode SetValue.
Par l'intermédiaire d'une variable Cellule :
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoCellule;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoCellule = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 );
vOOoCellule.OleFunction (" SetValue " , 123 );
|
Ou directement en utilisant la feuille :
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 ).OleFunction (" SetValue " , 123 );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Selon le type de texte que l'on souhaite intégrer, il faudra utiliser la fonction insertString (texte standard) ou insertControlCharacter (caractères spéciaux).
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoCellule;
Variant vOOoTextCursor;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoCellule = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 );
vOOoTextCursor = vOOoCellule.OleFunction (" createTextCursor " );
vOOoCellule.OleProcedure (" insertString " , vOOoTextCursor, " 1er Ligne " , false );
vOOoCellule.OleProcedure (" insertControlCharacter " , vOOoTextCursor, 0 , false );
vOOoCellule.OleProcedure (" insertString " , vOOoTextCursor, " 2em Ligne " , false );
|
Liste des codes utilisables avec la fonction insertControlCharacter :
PARAGRAPH_BREAK = 0;
LINE_BREAK = 1;
HARD_HYPHEN = 2;
SOFT_HYPHEN = 3;
HARD_SPACE = 4;
APPEND_PARAGRAPH = 5;
|
| auteurs : blondelle, pottiez, Atlantis |
Pour ajouter un hyperlien dans une cellule :
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoCellule;
Variant vOOoTextCursor;
Variant vOOoHyperlinkObj;
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoCellule = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 );
vOOoTextCursor = vOOoCellule.OleFunction (" createTextCursor " );
vOOoHyperlinkObj = vOOoDocument.OleFunction (" createInstance " , " com.sun.star.text.TextField.URL " );
vOOoHyperlinkObj.OleFunction (" setPropertyValue " , " URL " , http:
vOOoHyperlinkObj.OleFunction (" setPropertyValue " , " Representation " , " Visiter Developpez.com " );
vOOoCellule.OleFunction (" insertTextContent " , vOOoTextCursor, vOOoHyperlinkObj, false );
|
|
| auteurs : blondelle, pottiez, Atlantis |
Pour modifier les propriétés des cellules, il faut utiliser la procédure setPropertyValue(paramètre, valeur)
Attention les paramètres et les valeurs doivent respecter la casse.
1 Propriété : CharFontName de type string
Cette propriété spécifie le nom de la police de caractère.
2 Propriété : CharWeight de type Extended
La gestion du gras s'effectue en modifiant l'épaisseur de la police de caractère. Cette valeur est comprise entre 0 et 200
Liste de valeurs disponibles :
0 : Epaisseur non déterminée
50 : Fin
100 : Normal
150 : Gras
175 : Ultra Gras
200: Noir
2 Propriété : CharPosture de type com.sun.star.awt.FontSlant
Cette propriété spécifie l'inclinaison des caractères dans le texte.
Liste des valeurs disponibles :
- NONE :
- OBLIQUE :
- ITALIC
- DONTKNOW
- REVERSE_OBLIQUE
- REVERSE_ITALIC
CoreReflection.forName('com.sun.star.awt.FontSlant').getField('ITALIC').get();
3 Propriété : CharHeight de type Extended
Définit la taille de la police.
4 Propriété : CharLocale de type CharLocale
Définit la langue utilisée par le correcteur orthographique pour corriger la partie sélectionnée du texte saisi.
Variant vOOoMonClasseur;
Variant vOOoMaFeuille;
Variant vOOoLocale;
Variant vOOoCellule;
Variant vOOoCoreReflection;
Variant vOOoOpenOffice;
vOOoCoreReflection = vOOoOpenOffice.OleFunction (" createInstance " ," com.sun.star.reflection.CoreReflection " );
vOOoMonClasseur = vOOoDocument.OleFunction (" getSheets " );
vOOoMaFeuille = vOOoMonClasseur.OleFunction (" GetByName " , " Feuille1 " );
vOOoCellule = vOOoMaFeuille.OleFunction (" getCellByPosition " , 0 , 0 );
vOOoCellule.OleFunction (" setPropertyValue " , " CharFontName " , " Arial " );
vOOoCellule.OleFunction (" setPropertyValue " , " CharHeight " , 10 );
vOOoCellule.OleFunction (" setPropertyValue " , " CharWeight " , 150 );
vOOoCellule.OleFunction (" setPropertyValue " , " CharPosture " , vOOoCoreReflection.OleFunction (" forName " , " com.sun.star.awt.FontSlant " ).OleFunction (" getField " , " ITALIC " ).OleFunction (" get " , " " ));
vOOoLocale = vOOoOpenOffice.OleFunction (" Bridge_GetStruct " , " com.sun.star.lang.Locale " );
vOOoLocale.OlePropertySet (" Country " , " FR " );
vOOoLocale.OlePropertySet (" Language " , " fr " );
vOOoLocale.OlePropertySet (" Variant " , " fr " );
vOOoCellule.OleFunction (" setPropertyValue " ," CharLocale " , vOOoLocale);
|
|
Consultez les autres F.A.Q.
|
|