13

私はLibreOffice 3スプレッドシート(​​Ubuntu 11.04上)を持っており、単に「リンク」として表示される何百ものハイパーリンクの列があります。

これらを単なるテキストに変換するか、さらに悪いことに、「リンク」というテキストではなくハイパーリンクを表示するハイパーリンクに変換する必要があります。これを行う関数、またはスプレッドシート全体でそれを行う方法はありますか?

4

3 に答える 3

18

マクロを使用できます。

私がテストした唯一のものはこれです。

マクロの経験がない場合は、次の手順を実行します。

  1. そのリンクで提供されているマクロをコピーします。
  2. を押しALT + F11て、マクロ オーガナイザを開きます。
  3. [マイ マクロ] で [モジュール 1] を選択し、[編集] をクリックします。
  4. コピーしたマクロ コードを貼り付けます。
  5. マクロを保存して閉じます

これで、次のように使用できる「CELL_URL」というタイトルのマクロにアクセスできます。

リンクが「SHEET 1」の「CELL A1」から始まると仮定すると、新しいシートに移動し、最初のセルに次のように入力することをお勧めします=CELL_URL("SHEET 1",ROW(),COLUMN())。次に、データの次元に従ってその数式をドラッグできます。

または、別の例として、「SHEET 1」の「CELL B5」から始まる 20 個のリンクの 1 つの列があり、その隣の列に URL を配置するとします (つまり、「CELL C5」から始まる)。 ")、"CELL C5" に次のように式を入力します=CELL_URL("SHEET 1", ROW(), COLUMN()-1)に注意してください -1。これにより、現在の位置よりも 1 列少ないセルから URL を抽出するよう関数に指示されます。次に、式を「CELL C5」からリンクが終了する「CELL C24」にドラッグします。


アップデート:

URL が解決されていないようです。幸いなことに、WayBack Machine があります: http://web.archive.org/web/20120713222701/http://www.oooforum.org/forum/viewtopic.phtml?t=32909

また、マクロを Gist として投稿しました: https://gist.github.com/mrdwab/14c9e81dfbc867351bd3

コメントに記載されているように、関数を使用するときに「SHEET 1」を「Sheet1」に変更する必要がある場合がありCELL_URL()ます。

于 2012-04-23T11:22:50.993 に答える
4

別の方法として、Unix コマンド ライン ツールを使用し、Calc を完全にバイパスします。

まず、持っている .ods を zip として解凍します。例:

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

解凍したら、 を調べて./content.xml、すべての URL が二重引用符で囲まれていることに気付きます"grepしたがって、次の行を書くことができます。

$ 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
...

... に./content.xml到達すると、ドキュメントに挿入された URL が表示されるようになります。

于 2017-03-27T09:01:07.927 に答える