Как получить ссылки в Excel, чтобы открыть в одной вкладке браузера - PullRequest
3 голосов
/ 08 июня 2011

У меня есть таблица Excel с HTML-ссылками в одном столбце.Ссылки генерируются 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 вкладок.Это боль в спине, потому что мне периодически приходится проходить через них и закрывать их.

Есть ли какой-нибудь способ заставить эти ссылки открываться в одной вкладке браузера?Я не знаю, возможно ли указать HTML-эквивалент целевого объекта привязки с постоянным именем с помощью метода Hyperlinks->Add, или это вообще поможет.

Ответы [ 3 ]

1 голос
/ 08 июня 2011

Зависит от того, какой браузер вы используете:

Для Firefox перейдите по этой ссылке Принудительно Firefox открывать ссылки в той же вкладке

Требуется настройка в about:configbrowser.link.open_newwindow = 1

Для IE, Tools/options/General/Tabs/Setings

Open links from other programs in: The current Tab or Window
1 голос
/ 08 июня 2011

Попробуйте использовать Spreadsheet :: WriteExcel

#!/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)

0 голосов
/ 09 июня 2011

Итак, я нашел документы для объектной модели Excel, и нет никаких свойств гиперссылки, которые указывали бы, что это возможно. Спасибо за возвращение.

...