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 :

Comment récupérer l'url du répertoire du document actif


Sujet :

OpenOffice & LibreOffice

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Comment récupérer l'url du répertoire du document actif
    Bonjour,
    je cherche à partir d'une macro à récupérer l'url du répertoire, sans le nom du fichier d'un document actif, me permettant ainsi d'afficher une image en chemin relatif (stocké dans une base de donnée) sous writer :

    code de la macro simplifiée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub AfficherImage3
    Dossier = StarDesktop.getCurrentComponent.get??? & "\img.jpg"
    thiscomponent.drawPage.forms.getByName("Standard").getByName("ImageControl").ImageURL= convertToUrl ( Dossier )
    end sub
    Merci d'avance

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Premiers éléments de réponses par moi-même

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub AfficherImage
      Dim Dossier
      Dim urlDossier
      Dossier = ThisComponent
       If (Dossier.hasLocation()) Then
        urlDossier = Dossier.getURL()
    MsgBox  ( DirectoryNameoutofPath(urlDossier, "/") )
          End If
    End Sub
    Me renvoie l'adresse de mon fichier
    C'est déjà un plus

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Le code en suite, ça avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    sub AfficherImage
     Dim Dossier
     Dim urlDossier
     Dim urlDossier2
     Dim Fichier
      Dossier = ThisComponent
       Fichier = (thiscomponent.drawPage.forms.getByName("Standard").getByName("TextBox").Text)
       If (Dossier.hasLocation()) Then
        urlDossier = Dossier.getURL()
    	urlDossier2 = DirectoryNameoutofPath(urlDossier, "/")
    end If
    thiscomponent.drawPage.forms.getByName("Standard").getByName("ImageControl").ImageURL= ( urlDossier2 & Fichier )
    end sub
    Pour le reste avoir une base de donnée avec un champ texte contenant le lien relatif à l'image à afficher
    Un fichier writer sous forme formulaire appelé "Standard", avec l'appel au champ image nommé "TextBox" et un contrôle picto appelé "ImageControl"

    Merci aux différentes contributions trouvées sur le net

  4. #4
    Membre régulier
    Avatar de madvic
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Mai 2003
    Messages : 101
    Points : 92
    Points
    92
    Par défaut
    merci très utile !

  5. #5
    Membre averti Avatar de Mobydick_62
    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2009
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2009
    Messages : 261
    Points : 388
    Points
    388
    Par défaut
    Bonsoir.
    Quelques infos supplémentaires et utiles. Ce sont des fonctions tirées du livre de Bernard Marcelly.

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    '  ----   ces routines utilisent des adresses en notation URL  ----
     
    ' thisDir : chemin de répertoire avec un / terminal
    ' URLPath : chemin de fichier, ne comporte pas de / terminal
    ' un nom de fichier peut comporter une extension précédée d'un .
    ' un nom de fichier peut comporter un . terminal (extension de taille nulle)
    ' un nom de répertoire peut comporter un .
     
     
    ' renvoie le répertoire contenant le fichier
    'Exemple: monrRepertoire = getDirectory(ThisComponent.getURL)
     
    Function getDirectory(URLPath As String) As String
    Dim parts As Variant
    parts = split(URLPath, "/")
    parts(UBound(parts())) = ""
    getDirectory = join(parts, "/")
    End Function
     
    ' renvoie le répertoire père de thisDir
    Function getParentDir(thisDir As String) As String
    Dim resu As String
    resu = getDirectory(Mid(thisDir, 1, Len(thisDir) -1))
    if LCase(resu) = "file:///"  then
      err = 76 ' Il n'y a pas de répertoire père
    else
      getParentDir = resu
    end if
    End Function
     
    ' renvoie le nom complet d'un fichier : Nom.Ext
    'EXEMPLE: monFichier = getFullFileName(ThisComponent.getURL)
    Function getFullFileName(URLPath As String) As String
    Dim parts As Variant
    parts = split(URLPath, "/")
    getFullFileName = parts(UBound(parts())
    End Function
     
     
     
    ' renvoie le nom du fichier, sans son extension
    'EXEMPLE: monFichier = getFileNameOnly(ThisComponent.getURL)
    Function getFileNameOnly(URLPath As String) As String
    Dim s As String, parts As Variant
    s = getFullFileName(URLPath)
    parts = split(s, ".")
    if UBound(parts()) > 0  then
      parts(UBound(parts())) = ""
      s = join(parts, ".")
      getFileNameOnly = Mid(s, 1, Len(s) -1)
    else
      getFileNameOnly = parts(0)
    end if
    End Function
     
    ' renvoie l'extension du fichier, avec son point
    'EXEMPLE: monFichier = getFileExt(ThisComponent.getURL)
    Function getFileExt(URLPath As String) As String
    Dim s As String, parts As Variant
    s = getFullFileName(URLPath)
    parts = split(s, ".")
    if UBound(parts()) > 0  then
      getFileExt = "." & parts(UBound(parts()))
    else
      getFileExt = "" ' aucune extension, même pas le point
    end if
    End Function
    Cordialement
    Libre Office Version: 7.4.3.2 (x64)
    Windows 10

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/05/2007, 12h43
  2. [javascript] Comment récupérer l'url d'une page?
    Par adil_vpb dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 01/03/2007, 17h09
  3. Réponses: 4
    Dernier message: 08/08/2006, 23h33
  4. Comment récupérer l'url dans une iFrame
    Par Puzzo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 11/01/2006, 11h48

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