我有一个LibreOffice 3电子表格(在Ubuntu 11.04上),其中包含数百个超链接列,只显示为“链接”。
我需要将这些转换为纯文本,或者更糟糕的超链接,它们显示超链接而不是文本“链接”。是否有可以执行此操作的函数,或者可能是在整个电子表格中执行此操作的方法?
答案 0 :(得分:13)
您可以使用宏。
我唯一测试的is this one。
如果您没有使用宏的经验,请参考以下步骤:
ALT + F11
打开宏管理器。现在,您可以访问标题为“CELL_URL”的宏,您可以按如下方式使用:
假设您的链接在“SHEET 1”的“CELL A1”中开始,我建议您转到新工作表,然后在第一个单元格中输入:=CELL_URL("SHEET 1",ROW(),COLUMN())
。然后,您可以根据数据的维度拖动该公式。
或者,另一个例子,假设您有一个包含20个链接的列,从“SHEET 1”上的“CELL B5”开始,并且您希望URL位于其旁边的列中(因此,从“CELL C5”,在“CELL C5”中,输入如下公式:=CELL_URL("SHEET 1", ROW(), COLUMN()-1)
。 请注意 -1
。这告诉函数从小于当前位置的一列中提取单元格中的URL。然后,将公式从“CELL C5”拖动到“CELL C24”,链接结束。
更新
网址似乎无法解析。幸运的是,有WayBack机器:http://web.archive.org/web/20120713222701/http://www.oooforum.org/forum/viewtopic.phtml?t=32909
我还发布了宏作为要点:https://gist.github.com/mrdwab/14c9e81dfbc867351bd3
正如评论中所指出的,使用CELL_URL()
功能时,您可能需要将“SHEET 1”更改为“Sheet1”。
答案 1 :(得分:3)
这是另一种方法,使用Unix命令行工具 - 并完全绕过Calc。
首先,打开拉链包装的.ods;例如:
$ cd /tmp
$ mkdir my_ods_unpack
$ cd my_ods_unpack
$ unzip /path/to/my.ods
解压后,您可以查看./content.xml
,并认识到所有网址都用双引号"
括起来;因此我们可以编写以下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
,您应该开始看到已放入文档的网址。