1

コンテンツ: Office 2007、ExcelDNA 0.30、ActiveState Perl SDK 3.0、PerlNET

PerlNET を使用して ExcelDNA アドインを作成しようとしています。アイデアは、=SUM() のように、可変数のパラメーターを処理できるものを作成することです。

Perl コード:

#!perl
package AddIn; 

use strict;
use diagnostics; 
use namespace "System";
use PerlNET qw(AUTOCALL);
=for interface
    [interface: pure]
    static double PNSUM(double);
    static double PNSUM(double,double);
    static double PNSUM(double,double,double);
    static double PNSUM(double,double,double,double);
    static double PNSUM(double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
    static double PNSUM(double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double,double);
=cut

sub new {
    my($package) = @_;
    my $self = bless {} => $package;
    return $self;
}

sub PNSUM {
    my $result = 0.0;
    foreach (@_) {
        $result += $_;
    }
    return $result;
}
#~ print SUM(1.9,2.8,3.7,4.6,5.5,6.4,7.3,8.2,9.1);

DNAコード

<DnaLibrary Name="Perl NET Demo" RuntimeVersion="v2.0">
  <ExternalLibrary Path="BOPN.DLL" />
</DnaLibrary>

.XLL ファイルは正常に読み込まれますが、PNSUM() は表示されません。私は何を間違っていますか?

4

0 に答える 0