Kolonne med www-adresser som tekst -> hyperlink

Brugerhjælp og support til regneark i LibreOffice Calc

Moderator: Lodahl

Post Reply
AS4
Posts: 4
Joined: 26. Apr 2011 12:32

Kolonne med www-adresser som tekst -> hyperlink

Post by AS4 »

Hej Eksperter

Jeg har søgt og intet fundet, så nu spørger jeg her....

Jeg har lavet en liste med virksomheder og deres webadresser, som jeg har importeret til calc. Kolonnen med webadresser er imidlertid alm tekst og ikke hyperlinks. Jeg vil gerne undgå at skulle ind og redigere hver eneste celle, så hvordan laver man webadresse-kolonnen om så alle bliver til hyperlinks i stedet for tekst?

På forhåns tak ;o)
Jørgen Rasmussen
Posts: 327
Joined: 12. Nov 2007 22:14
Location: Aarhus C

Post by Jørgen Rasmussen »

Hej AS4

Menuen Funktioner -> Autokorrekturindstillinger -> Indstillinger -> URL-genkendelse.
Hilsen JR
Jens S
Posts: 1091
Joined: 25. Mar 2007 22:42

Post by Jens S »

Url-genkendelse virker kun under indtastning, hvis du har en kolonne med adresser, prøv så denne makro (marker området og kør makroen:

Code: Select all

Sub InsertURLIntoCell    'ændrer tekst med mail/www adresser til hyperlink
  Dim oDoc, oText, oField, oCell, oSheet, oSelection, oRangeAddress, r1, c1, c2, r2, i, k
  oDoc = thisComponent
  oSheet = oDoc.CurrentController.getActiveSheet()
  oSelection= oDoc.getCurrentSelection()
  oRangeAddress = oSelection.getRangeAddress
  r1 = oRangeAddress.StartRow
  c1 = oRangeAddress.StartColumn
  c2 = oRangeAddress.EndColumn
  r2 = oRangeAddress.EndRow

  For i = c1 To c2
    For k = r1 To r2
      oCell = oSheet.getCellByPosition(i,k)
      oField = ThisComponent.createInstance("com.sun.star.text.TextField.URL")
      oField.Representation = oCell.getString()
      oField.URL = ConvertToURL("http://" & oCell.getString()) 'fjern  http:// hvis det er enmail-adresse
      oCell.setString("")
      oText = oCell.getText()
      oText.insertTextContent(oText.createTextCursor(), oField, False)
   Next
Next
End Sub 
mvh
Jens
AS4
Posts: 4
Joined: 26. Apr 2011 12:32

Post by AS4 »

Jens S wrote:Url-genkendelse virker kun under indtastning, hvis du har en kolonne med adresser, prøv så denne makro (marker området og kør makroen:

Code: Select all

Sub InsertURLIntoCell    'ændrer tekst med mail/www adresser til hyperlink
  Dim oDoc, oText, oField, oCell, oSheet, oSelection, oRangeAddress, r1, c1, c2, r2, i, k
  oDoc = thisComponent
  oSheet = oDoc.CurrentController.getActiveSheet()
  oSelection= oDoc.getCurrentSelection()
  oRangeAddress = oSelection.getRangeAddress
  r1 = oRangeAddress.StartRow
  c1 = oRangeAddress.StartColumn
  c2 = oRangeAddress.EndColumn
  r2 = oRangeAddress.EndRow

  For i = c1 To c2
    For k = r1 To r2
      oCell = oSheet.getCellByPosition(i,k)
      oField = ThisComponent.createInstance("com.sun.star.text.TextField.URL")
      oField.Representation = oCell.getString()
      oField.URL = ConvertToURL("http://" & oCell.getString()) 'fjern  http:// hvis det er enmail-adresse
      oCell.setString("")
      oText = oCell.getText()
      oText.insertTextContent(oText.createTextCursor(), oField, False)
   Next
Next
End Sub 
mvh
Jens
Cool.....takker, men hvordan kører jeg en makro i det her calc? Under funktioner kan jeg kun vælge mellem eksisterende makroer....

I know......jeg er bestemt ikke ekspert :D
Jens S
Posts: 1091
Joined: 25. Mar 2007 22:42

Post by Jens S »

Du trykker på Alt+F11 (det samme som Funktioner - Makroer - Administrer makroer - OpenOffice)
Her er der 3 muligheder at gemme makroer:
1. Mine makroer - som du altid har adgang til og kan tilføje og redigere hver gang du åbner et dokument.
2. OpenOffice.org makroer - disse er låst så du kan ikke slette eller redigere.
3. Dokumentet - disse makroer følger kun dette specielle regneark.

Så her skal du vælge 1, og hvis den ikke indeholder noget, klikker du på 'Ny(t)' og under Mine Makroer - standard dannes et Modul1. I denne modul kopierer du makroen ind i (tryk på Rediger for at få adgang til modulet).

Marker dine data i regnearket, tryk så Alt+F11 og der vil i den højre kolonne vises eksisterende makroer i Module1, marker 'InsertURLIntoCell' og vælg Udfør.

mvh
Jens

NB! Hvis alt dette bliver for kompliceret, kan du, hvis du har adresserne i kolonne A, bruge formlen =HYPERLINK(A1) i B1 og kopiere nedad
AS4
Posts: 4
Joined: 26. Apr 2011 12:32

Post by AS4 »

Jens S wrote:Du trykker på Alt+F11 (det samme som Funktioner - Makroer - Administrer makroer - OpenOffice)
Her er der 3 muligheder at gemme makroer:
1. Mine makroer - som du altid har adgang til og kan tilføje og redigere hver gang du åbner et dokument.
2. OpenOffice.org makroer - disse er låst så du kan ikke slette eller redigere.
3. Dokumentet - disse makroer følger kun dette specielle regneark.

Så her skal du vælge 1, og hvis den ikke indeholder noget, klikker du på 'Ny(t)' og under Mine Makroer - standard dannes et Modul1. I denne modul kopierer du makroen ind i (tryk på Rediger for at få adgang til modulet).

Marker dine data i regnearket, tryk så Alt+F11 og der vil i den højre kolonne vises eksisterende makroer i Module1, marker 'InsertURLIntoCell' og vælg Udfør.

mvh
Jens

NB! Hvis alt dette bliver for kompliceret, kan du, hvis du har adresserne i kolonne A, bruge formlen =HYPERLINK(A1) i B1 og kopiere nedad
Det må jeg prøve i morgen, når jeg kommer på maskinen igen ;o) Der er bare alt for mange rækker til at jeg orker at gøre det enkeltvis, så det er en stor hjælp.

Tak for nu......jeg vender tilbage ;o)
AS4
Posts: 4
Joined: 26. Apr 2011 12:32

Post by AS4 »

Tusinde tak for hjælpen :)

Det var en kæmpe hjælp, så du har reddet min dag :D
Post Reply