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)
Kolonne med www-adresser som tekst -> hyperlink
Moderator: Lodahl
-
- Posts: 327
- Joined: 12. Nov 2007 22:14
- Location: Aarhus C
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:
mvh
Jens
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
Jens
Cool.....takker, men hvordan kører jeg en makro i det her calc? Under funktioner kan jeg kun vælge mellem eksisterende makroer....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:mvhCode: 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
Jens
I know......jeg er bestemt ikke ekspert

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
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.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
Tak for nu......jeg vender tilbage ;o)