2012-04-17 13 views
8

Ich habe eine LibreOffice 3-Tabelle (auf Ubuntu 11.04) mit einer Spalte von Hunderten von Hyperlinks, die einfach als 'Link' angezeigt werden.Konvertieren von LibreOffice Calc URLs in Text

Ich muss diese nur in einfachen Text, oder schlimmer Hyperlinks, die den Hyperlink statt den Text "Link" anzeigen. Gibt es eine Funktion, die dies tut, oder vielleicht eine Methode, die dies über die gesamte Tabelle hinweg tun wird?

Antwort

12

Sie können ein Makro verwenden.

Die einzige, die ich getestet habe is this one.

Wenn Sie keine Erfahrung mit Makros gehabt haben, hier sind die Schritte,:

  1. Kopieren Sie das Makro an diesem Link.
  2. Drücken Sie ALT + F11, um den Makroorganisator zu öffnen.
  3. Unter "Meine Makros" wählen Sie "Modul 1" und klicken Sie auf "Bearbeiten"
  4. Fügen Sie den Makrocode, den Sie kopiert haben.
  5. Speichern und schließen Sie Ihr Makro

Jetzt haben Sie Zugang zu einem Makro dem Titel „CELL_URL“, die Sie wie folgt verwendet werden:

Unter der Annahme, dass Sie Ihre Links in „Zelle A1“ auf „BLATT starten 1 ", empfehle ich Ihnen, zu einem neuen Blatt zu gehen, und in der ersten Zelle, geben Sie ein: =CELL_URL("SHEET 1",ROW(),COLUMN()). Dann können Sie diese Formel entsprechend den Dimensionen Ihrer Daten ziehen.

Oder ein anderes Beispiel unter der Annahme, dass Sie eine einzelne Spalte mit 20 Links haben, beginnend mit "CELL B5" auf "SHEET 1", und dass die URL in der Spalte daneben sein soll (also beginnend Geben Sie in "CELL C5" die Formel wie folgt ein: =CELL_URL("SHEET 1", ROW(), COLUMN()-1). Beachten Sie die-1. Das weist die Funktion an, die URL aus der Zelle aus einer Spalte weniger als die aktuelle Position zu extrahieren. Ziehen Sie dann die Formel von "CELL C5" auf "CELL C24", wo Ihre Verknüpfungen enden.


Update:

Die URL scheint nicht die Lösung zu sein. Zum Glück gibt es die Wayback Machine: http://web.archive.org/web/20120713222701/http://www.oooforum.org/forum/viewtopic.phtml?t=32909

Ich habe auch das Makro als Gist posted: https://gist.github.com/mrdwab/14c9e81dfbc867351bd3

Wie in den Kommentaren darauf hingewiesen werden kann, müssen Sie möglicherweise „BLATT 1“ bis „Sheet1“ ändern, wenn Verwenden Sie die CELL_URL() Funktion.

+0

Vielen Dank dafür - ich werde in Kürze testen und meine Ergebnisse posten –

+0

Gut daran erinnert! Immer noch auf meiner To-Do-Liste, aber Sie haben mich dazu aufgefordert, damit weiterzumachen. Vielleicht ein Job für dieses Wochenende. Ich werde so bald wie getan Feedback geben –

+0

Ich habe es gerade jetzt ausprobiert, und es funktionierte wie ein Charme. Es war "Sheet1" ohne einen Platz für mich - schauen Sie sich einfach die Registerkarte an, wenn Sie sie benutzen. – cayhorstmann

1

Hier ist ein anderer Weg, mit Unix-Kommandozeilen-Tools - und Calc komplett umgehen.

Zunächst entpacken Sie die.ods hast du als zip; Beispiel:

$ cd /tmp 
$ mkdir my_ods_unpack 
$ cd my_ods_unpack 
$ unzip /path/to/my.ods 

Sobald entpackten Sie in ./content.xml aussehen kann, und alle URLs erkennen, sind in doppelte Anführungszeichen eingeschlossen ";

$ grep -ro 'http[^"]*' . 
./meta.xml:http://www.w3.org/1999/xlink 
./meta.xml:http://purl.org/dc/elements/1.1/ 
./meta.xml:http://openoffice.org/2004/office 
... 

... und sobald es zu ./content.xml bekommt, sollten Sie beginnen, die URLs zu sehen, die im Dokument gesetzt worden: so können wir die folgende grep Zeile schreiben.

+0

Dieser Ansatz funktionierte wirklich gut für meinen Anwendungsfall - danke! –

Verwandte Themen