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 :

Ouvrir une application depuis un sous formulaire base [LibreOffice][Base de données]


Sujet :

OpenOffice & LibreOffice

  1. #1
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Ouvrir une application depuis un sous formulaire base
    Bonsoir,

    Une idée saugrenue! Dans un sous formulaire, je stocke le chemin d’ accès d’ un fichier avec son nom et son extension. Pour info, un double clic sur ce fichier permet de l’ ouvrir avec le logiciel correspondant(LibreCad en l’ occurrence).
    Est-il possible de reproduire cette action à partir d’ un bouton du sous formulaire?

    Cordialement

  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
    Il te suffit de récupérer la donnée de ton champ, ensuite tu as ici une explication en OBasic pour ouvrir un fichier ou ici.

    @+.

  3. #3
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Lancer une application depuis Libreoffice
    Bonsoir,

    Je vous remercie de votre réponse. J' ai tenté de la mettre en application mais je me heurte à un problème.
    En fait, dans la ligne de commande ci-dessous, je pensai pouvoir indiquer le chemin du fichier qui se trouve dans le sous formulaire mais ou mon code doit être mal ecrit.
    Code d' origine:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub ouvrirClasseur
    	Dim Fichier As String
    	Dim Wb As Object
    	Dim Args()
     
    	Fichier = ConvertToUrl("C:\Documents and Settings\michel\dossier\leTableur.ods")
    	Wb = StarDesktop.loadComponentFromURL(Fichier,"_blank",0 ,Args() )
    End Sub
    Code proposé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub OuvrirFichier()
     
    		Dim Fichier As String, Chm as string
    		Dim Wb As Object, Form as object
    		Dim Args()
    		Form = thiscomponent.DrawPage.Forms.GetByIndex(0)
     		chm= Forrm.getByName("MainForm").getByName("SubForm").getByName("SubForm_Grid").getByName("ChmPln")
    		Fichier=ConvertToUrl(chm)	
    		Wb = StarDesktop.loadComponentFromURL(Fichier,"_blank",0 ,Args() )
     
    	End Sub
    Quand pensez-vous?

    Cordialement

  4. #4
    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
    Ton code me semble correct... mais je peux pas tester (tablette).

    As-tu essayé l'autre méthode ?

    @+.

  5. #5
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Ouvrir application
    Bonjour,

    J' ai tenté sans succès d' appliquer la méthode de ma dernière réponse. A chaque fois, j' obtiens le message suivant:
    Type: com.sun.star.container.NoSuchElementException
    Logiquement, il s' agit d' une erreur de nom. En fait, le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chm = Form.getByName("MainForm").getByName("SubForm").getByName("SubForm_Grid").getByName("ChmPln")
    fonctionne dans une autre procédure. je ne comprends pas d' ou vient le problème.
    Pour mémoire, le bouton est situé dans le sous formulaire.
    Cordialement
    Fichiers attachés Fichiers attachés

  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
    Alors là, je ne vois pas ce qu'à ton formulaire, car même un code simple ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim oDoc as Object
    dim oForm as Object
    dim nom as String
     
    oDoc = thisComponent
    oForm = oDoc.DrawPage.Forms.getByName("Standard")
    nom = oForm.getByName("ChampsNom").Text
     
    msgbox nom
    @+.

  7. #7
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Ouvrir application
    Bonsoir,

    Je viens de mixer deux trois bout de code et j' ai réussi à ramener le chemin du fichier qui se trouvait dans la table.
    Par contre, j' ai encore un message d' erreur que voici:
    Type: com.sun.star.lang.IllegalArgumentException
    Message: Unsupported URL <file:///cible>.
    Ci-dessous le code bidouillé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	Sub VrFch
    		dim oDoc as Object, Fch as string
    		dim oForm as Object
    		dim cible as string
    		Dim Wb As Object
    		Dim Args()
    		oDoc = thisComponent
    		oForm = oDoc.DrawPage.Forms.getByName("MainForm").getByName("SubForm").getByName("SubForm_Grid")
    		cible = oForm.getByName("ChmPln").Text
    		msgbox cible
    		Fch=ConvertToUrl("cible")
    		Wb = StarDesktop.loadComponentFromURL(Fch,"_blank",0 ,Args() )
     
    	End Sub
    En fait, la commande "ConvertToUrl" place "//" devant le chemin du fichier.
    L' erreur pourrait-elle venir de la?

    Cordialement

  8. #8
    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
    A la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Fch=ConvertToUrl(cible)
    Wb = StarDesktop.loadComponentFromURL(Fch,"_blank",0 ,Args())
    Mets plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    oShell = createUnoService("com.sun.star.system.SystemShellExecute") 
    oShell.execute(ConvertToUrl(cible), "", 0)
    @+.

  9. #9
    Membre régulier
    Homme Profil pro
    Retraité de l' industrie
    Inscrit en
    Mars 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Retraité de l' industrie
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2010
    Messages : 177
    Points : 102
    Points
    102
    Par défaut Ouvrir fichier avec application autre que LibOff
    Bonsoir,

    Merci Zoom61, votre dernière intervention m' a permis de régler le problème. Pour information ,voici le code complet
    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
     
    Sub OuvrirFichier
     
            dim oDoc as Object, Fichier as string
    	dim oForm as Object,oShell as object
    	dim cible as string
    	Dim Wb As Object
    	Dim Args()
     
    	oDoc = thisComponent
            'Le champ contenant l' information du chemin se trouve dans un sous formulaire
    	oForm = oDoc.DrawPage.Forms.getByName("MainForm").getByName("SubForm").getByName("SubForm_Grid")
    	cible = oForm.getByName("ChmPln").Text    'ChmPln est le champ qui contient le chemin du fichier
    	msgbox cible    ' Inutile sauf pour vérifier le chemin du fichier 
    	oShell = createUnoService("com.sun.star.system.SystemShellExecute") 
    	oShell.execute(ConvertToUrl(cible), "", 0)   'Ouverture du fichier avec le logiciel correspondant
     
    End Sub
    Bonne soirée et encore merci.

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

Discussions similaires

  1. [AC-2013] Ouvrir une requête dans un sous-formulaire
    Par bwigle dans le forum Access
    Réponses: 2
    Dernier message: 12/11/2014, 16h04
  2. Ouvrir une application depuis une autre application
    Par Matf4ke dans le forum Android
    Réponses: 1
    Dernier message: 30/11/2012, 10h38
  3. Réponses: 3
    Dernier message: 01/04/2009, 11h11
  4. Comment ouvrir une application et un sous menu
    Par m14w dans le forum Delphi
    Réponses: 2
    Dernier message: 27/09/2006, 23h58
  5. Ouvrir un état depuis un sous formulaire
    Par Ryton dans le forum Access
    Réponses: 2
    Dernier message: 25/08/2006, 09h30

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