[Résolu] [Calc] ouvrir plusieurs hyperliens

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
zbooby
Fraîchement OOthentifié
Messages : 6
Inscription : 13 mars 2018 10:03

[Résolu] [Calc] ouvrir plusieurs hyperliens

Message par zbooby »

Bonjour, je suis nouveau inscrit sur le forum, mais j'y navigue souvent pour trouver les outils dont j'ai besoin.
Le dernier en date est celui ci :
http://ooo-forums.apache.org/fr/forum/v ... 3&p=182809
La modération vous a écrit: Vous avez ajouté [Résolu] dans votre fil de discussion signifiant que votre question a été résolue et nous vous en remercions.
Cependant pour des questions de lisibilité et d'homogénéité, il est demandé de cocher la case de l'icône de sujet (le V vert). Notre forum est plus lisible avec ce balisage comme vous avez pu vous en rendre compte en le parcourant.
Cette opération se fait en même temps lorsque vous éditez votre 1er message.
Suivez ce sujet pour savoir comment procéder : https://forum.openoffice.org/fr/forum/ftopic3299.html
Merci de votre participation sur notre forum et de nous faciliter le travail de modération.

Cordialement, l'équipe de modération

Je cherche à créé une macro qui ouvre les différents hyperliens que j'ai dans ma fiche openoffice, du coup voici ma fonction :

Code : Tout sélectionner

Sub Actualisation
  Dim oFeuille As Object, oParcours As Object
  Dim oPlage As Object, oEnum As Object, oCell As Object
  
  oPlage = ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
  oShell = createUnoService("com.sun.star.system.SystemShellExecute")
  oFeuille = ThisComponent.Sheets.getByName("Buy")
  oParcours = oFeuille.getCellRangeByName("M32:M32")

  oPlage.insertByName("", oParcours)
  oEnum = oPlage.Cells.CreateEnumeration

  While oEnum.hasMoreElements
    oCell = oEnum.NextElement    
    oShell.Execute("chrome.exe", oCell.String,"",0)
  Wend
 
End Sub
Le problème c'est qu'à chaque espace rencontré, on passe à l'enum suivant. Il me faudrait une sorte de "urlencode", ou une gestion des espaces.

Merci pour votre temps.
Dernière modification par toucan le 15 mars 2018 21:42, modifié 3 fois.
Raison : Ajout de la coche
AOOo 4.1.5 sur Win7
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 3953
Inscription : 06 oct. 2008 08:03

Re: [Calc] ouvrir plusieurs hyperliens

Message par Oukcha »

Bonjour et bienvenue sur le forum,
votre signature a écrit : OpenOffice 3.3 sous Windows 7
Votre signature indique que vous disposez d'une version de OpenOffice qui n'est plus maintenue.
Est-ce une erreur, un choix, un oubli, une obligation ?
Dans ce dernier cas, mentionnez-le dans votre signature par "Obligation de version".

Pour connaître la version que vous possédez : https://forum.openoffice.org/fr/forum/v ... 582#p11582

Nous vous invitons à vous mettre à jour de la dernière version : https://forum.openoffice.org/fr/forum/v ... m.php?f=38.

Votre signature doit comporter :
1- La version exacte de AOO ou LibO (AOO 4.1.4 ou LibO 5.3.7 par exemple) ;
2- La version exacte du système d'exploitation (Windows 7 SP2, MacOS X 10.13.2, ou Linux OpenSuse Leap 42.3, par exemple).
Accès direct à votre signature pour la corriger.

Cordialement.
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] ouvrir plusieurs hyperliens

Message par Dude »

zbooby a écrit :mais j'y navigue souvent pour trouver les outils dont j'ai besoin.
Dans ce cas, tu as dû voir qu'il fallait fournir un document afin qu'on gagne du temps. :roll:
zbooby a écrit :Le problème c'est qu'à chaque espace rencontré
Explique moi comment tu peux avoir des espaces dans un hyperlien puisque ce caractère est interdit.
zbooby
Fraîchement OOthentifié
Messages : 6
Inscription : 13 mars 2018 10:03

Re: [Calc] ouvrir plusieurs hyperliens

Message par zbooby »

Pour la version du logiciel, c'est juste que je ne l'ai jamais mis à jour jusqu'a maintenant, je le fais bientôt.

Mon lien je le construit de cette façon :
http://www.monsite.com/?q=<Value A1>
http://www.monsite.com/?q=<Value A2>

Mais du coup mes valeurs dans ma colonne A peuvent être composé de plusieurs mots et d'espaces du coup.
L'objectif serait d'avoir un urlencode(valeur A1), avant de l'envoyer dans l'url sinon. Mais en réalité, manuellement, mes liens fonctionnent déjà, même avec mes espaces.
Mes espaces sont traduits automatiquement dans mon navigateur par "%20".

Le problème dans la macro, c'est que les next enum coupe à chaque "%20".
http://www.monsite.com/?q=<Value A1>
On aura un onglet : "http://www.monsite.com/?q=<Value"
puis un onglet "A1>"
AOOo 4.1.5 sur Win7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] ouvrir plusieurs hyperliens

Message par Dude »

Bis repetitae :
Dude a écrit :Dans ce cas, tu as dû voir qu'il fallait fournir un document afin qu'on gagne du temps.
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: [Calc] ouvrir plusieurs hyperliens

Message par Hubert Lambert »

Bonjour,

A priori,
zbooby a écrit :Il me faudrait une sorte de "urlencode", ou une gestion des espaces.
équivaut à

Code : Tout sélectionner

monURL = convertToURL(monURL)
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
zbooby
Fraîchement OOthentifié
Messages : 6
Inscription : 13 mars 2018 10:03

Re: [Calc] ouvrir plusieurs hyperliens

Message par zbooby »

Y'aurait t-il à partir du classeur (pas dans la macro), une fonction qui permettrait de faire ceci :
La souris danse

Fonction :
la%20souris%20danse

formatter le texte directement sur le classeur ?
AOOo 4.1.5 sur Win7
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: [Calc] ouvrir plusieurs hyperliens

Message par Hubert Lambert »

Je ne connais pas, mais ça n'aurait pas beaucoup d'intérêt : si tu utilises la fonction LIEN.HYPERTEXTE(), le programme se charge d'encoder l'url; si tu utilises une macro, il y a la fonction donnée plus haut.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
zbooby
Fraîchement OOthentifié
Messages : 6
Inscription : 13 mars 2018 10:03

Re: [Calc] ouvrir plusieurs hyperliens

Message par zbooby »

Ok j'envoie un exemple concret
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
AOOo 4.1.5 sur Win7
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: [Calc] ouvrir plusieurs hyperliens

Message par Hubert Lambert »

Apparemment ça fonctionne.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
zbooby
Fraîchement OOthentifié
Messages : 6
Inscription : 13 mars 2018 10:03

Re: [Calc] ouvrir plusieurs hyperliens

Message par zbooby »

pour ma part j'ai 7 onglets pour une seule ligne traitée.
Bien évidemment on parle de cliquer sur le bouton Actu, pas cliqué manuellement sur le lien ?
AOOo 4.1.5 sur Win7
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 07:26

Re: [Calc] ouvrir plusieurs hyperliens

Message par Hubert Lambert »

Alors trois petites choses :
1. apparemment, sous Windows, l'implémentation du service "SystemShellExecute" est un peu différente que sous Linux, et il faut encadrer soi-même l'url de guillements;
2. convertToURL n'encode apparemment que les url simples, pas les url complexes;
3. la méthode execute devrait dans ton code renvoyer une erreur, car le nombre de paramètres est incorrect, et j'ignore pourquoi le programme ne se plaint pas.

En conclusion, ceci devrait fonctionner :

Code : Tout sélectionner

    url = """" & oCell.String & """"
    oShell.Execute("chrome.exe", url, 0)
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
zbooby
Fraîchement OOthentifié
Messages : 6
Inscription : 13 mars 2018 10:03

Re: [Calc] ouvrir plusieurs hyperliens

Message par zbooby »

Ok parfait, ça marche niquel, merci beaucoup pour ta patience et ta résolution. je change mon title
AOOo 4.1.5 sur Win7