我们在Excel中有几个宏。在excel的引用中有一个名为SiebelHtml Type Libary的文件或者其他类似的文件。当它包含在Excel中时,它会加载许多函数和类。
例如
sApp as SiebelApplication
当我包含libary时,编译。我在目录中找到了两个文件。它们是SiebelAX_Desktop_Integration.exe和SiebelAx_Desktop_Integration.inf。
是否有人知道我是否可以管理这些文件中的数据包含在perl脚本中,以便我可以编写与上述代码相当的工作perl。我不太熟悉VBA,不明白引擎盖下发生了什么事这么说?
答案 0 :(得分:-1)
我认为1到1不可能......你必须重写代码看起来像下面的例子:
use feature 'say';
use Siebel::COM::App::DataControl;
use TryCatch;
my $app = Siebel::COM::App::DataControl->new(
{
user => 'sadmin',
password => 'sadmin',
host => 'test',
enterprise => 'SIEBEL',
lang => 'ENU',
aom => 'eClinicalObjMgr_enu'
}
);
my $created_by = '0-1';
try {
$app->login();
my $bo = $app->get_bus_object('Account');
my $bc = $bo->get_bus_comp('Account');
$bc->activate_field('Location');
$bc->activate_field('Extension Phone Number');
$bc->clear_query();
$bc->set_view_mode();
$bc->set_search_spec( 'Created By', "='$created_by'" );
$bc->query();
if ( $bc->first_record() ) {
do {
my $val = $bc->get_field_value('Location');
say $val;
} while ( $bc->next_record() )
} else {
say 'Could not find the account';
}
} catch {
die 'Exception: ' . $app->get_last_error();
}
做魔术的是Siebel::COM perl模块。 如果您发布Excel脚本的示例,我可以帮助将其更改为Perl等效项。