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

FAQ LibreOffice et Apache OpenOfficeConsultez toutes les FAQ

Nombre d'auteurs : 10, nombre de questions : 359, dernière mise à jour : 15 juillet 2017  Ajouter une question

 

Bienvenue sur la FAQ, elle a été réalisée pour répondre aux questions concernant les suites bureautiques Apache OpenOffice (AOO) et LibreOffice (LibO).

Si vous souhaitez participer pour l'améliorer, pour proposer vos contributions ou si vous constatez des erreurs dans cette page, n'hésitez-pas !!! Participez.

SommaireProgrammation OBasicOBasic : TableurLes feuillesLes images (1)
précédent sommaire suivant
 

Cette procédure Tableur permet de choisir un répertoire à partir d'une boîte de dialogue. Toutes les images .jpg sont ensuite affichées en miniature dans la feuille de calcul (5 lignes et 4 colonnes par page imprimable).

Remarque:
La procédure est sensible à la casse: jpg n'est pas identique à JPG.

Code vb : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Option Explicit 
  
Sub CreationPlancheContact  
'testé avec WinXP et OOo 2.0.3  
'http://www.oooforum.org/forum/viewtopic.php?t=12312  
Dim sGraphicURL As String , Chemin As String , NextFile as String  
Dim oDrawPage As Object , oGraphic As Object  
Dim oFolderDialog as Object, oUcb as Object  
Dim choix As Integer ,i As Integer ,j As Integer ,k As Integer  
Dim oLeft As Double , oTop as Double ,NumLig as Double , Largeur As Double  
Dim Taille as new com.sun.star.awt.Size  
Dim Emplacement as new com.sun.star.awt.Point  
  
NumLig= ThisComponent.Sheets(0).RowPageBreaks(0).position  
Largeur= ThisComponent.Sheets(0).Rows(0).Height  
  
'--- Affiche la boîte de dialogue pour sélectionner le répertoire contenant les fichiers .jpg ---  
oFolderDialog = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")  
oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess")  
oFolderDialog.SetDisplayDirectory("C:\Documents and Settings")'Adaptez le chemin par défaut
Code vb : Sélectionner tout
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
choix = oFolderDialog.Execute()  
If choix = 1 Then Chemin=ConvertFromUrl(oFolderDialog.getDirectory())  
  
'Boucle sur toutes les images du répertoire cible 
'Attention la procédure est sensible à la casse 
'(jpg n'est pas identique à JPG)  
NextFile=Dir(Chemin & "\*.jpg",0)  
  
Do While Len(NextFile) >0  
  i = i + 1  
  j = j + 1  
  sGraphicURL =ConvertToURL(Chemin & "\" & NextFile)  
  
  oDrawPage =ThisComponent.Sheets(0).getDrawpage()  
  oGraphic =ThisComponent.createInstance("com.sun.star.drawing.GraphicObjectShape")  
  oGraphic.GraphicURL =sGraphicURL  
  oDrawPage.add(oGraphic)  
  
  Taille.width = 3000 'Dimension horizontale image (3000 = 30 millimètres) 
  Taille.height = 3000 'Dimension verticale image  
  oGraphic.setsize(Taille)  
  
  Emplacement.X = oLeft  
  Emplacement.Y = oTop  
  oGraphic.setposition(Emplacement)  
  
  oLeft = oLeft + Taille.width + 350 'Distance horizontale entre 2 images  
  If i =4 then  
    oLeft =0  
    i =0  
    oTop = oTop + Taille.height + 500 ' Distance verticale entre 2 images  
  End If  
  
  if j = 20 Then '4 colonnes et 5 lignes par page d'impression 
    k =k + 1  
    oTop = NumLig * Largeur * k  
    j = 0  
  End If  
  
  NextFile=Dir()  
Loop  
End Sub

Mis à jour le 27 août 2013 SilkyRoad

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.