我在一列中有一个带有html链接的Excel电子表格。这些链接是由perl脚本通过Win32::OLE
生成的(在索引$ i的循环内):
my $range = $Sheet->Range("B".$row);
my $link = "http://foobar.com/show.pl?id=$i";
$Sheet->Hyperlinks->Add({Anchor=>$range,Address=>$link,TextToDisplay=>"Link to $i"});
目前,每次单击其中一个链接时,都会在新的浏览器选项卡中打开。由于存在很多这些链接,因此在使用工作表一段时间后,我最终会收到20个标签。这是后面的痛苦,因为我经常需要经历并关闭它们。
是否有某种方法可以在同一浏览器标签中打开这些链接?我不知道是否可以使用Hyperlinks->Add
方法指定具有常量名称的锚点目标的HTML等效项,或者这是否可以完成工作。
答案 0 :(得分:1)
#!/usr/bin/perl -w
use strict;
use Spreadsheet::WriteExcel;
# Create a new workbook called simple.xls and add a worksheet
my $workbook = Spreadsheet::WriteExcel->new('Example.xls');
my $worksheet = $workbook->add_worksheet();
# The general syntax is write($row, $column, $token). Note that row and
# column are zero indexed
# Write a hyperlink
$worksheet->write(10, 0, 'http://perldoc.perl.org/');
$worksheet->write(11, 0, 'http://stackoverflow.com/');
__END__
超链接在相同的浏览器标签中打开(在IE,Firefox,Chrome中正常工作)
答案 1 :(得分:1)
取决于您使用的是哪种浏览器:
对于Firefox,请参阅此链接Force Firefox To Open Links In Same Tab
需要about:config
browser.link.open_newwindow = 1
对于IE,Tools/options/General/Tabs/Setings
Open links from other programs in: The current Tab or Window
答案 2 :(得分:0)
所以我找到了Excel对象模型的文档,并且没有超链接的属性表明这是可能的。谢谢你的回归。