Page 1 of 1

Kolonne med www-adresser som tekst -> hyperlink

Posted: 26. Apr 2011 12:37
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)

Posted: 26. Apr 2011 13:22
by Jørgen Rasmussen
Hej AS4

Menuen Funktioner -> Autokorrekturindstillinger -> Indstillinger -> URL-genkendelse.

Posted: 26. Apr 2011 13:52
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

Posted: 26. Apr 2011 14:17
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

Posted: 26. Apr 2011 14:46
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

Posted: 26. Apr 2011 17:59
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)

Posted: 27. Apr 2011 09:08
by AS4
Tusinde tak for hjælpen :)

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