Thread Excel und Win32::OLE --> Spaltenbreite und Sortier (18 answers)
Opened by Teutales at 2006-05-03 17:21

Strat
 2006-05-04 19:36
#65535 #65535
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
in einem meiner Codes funktionierts auf folgende Weise problemlos:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Excel';

use vars qw($Excel);

# use existing instance if Excel is already running
eval {
$Excel = Win32::OLE->GetActiveObject('Excel.Application');
};
if ($@) {
die "Error: excel is not installed\n";
} # if

unless (defined $Excel) {
$Excel = Win32::OLE->new('Excel.Application', sub { $_[0]->Quit } )
or die "Error: can't start Excel\n";
} # unless

my $workbook = $Excel->Workbooks->open($excelFile);
my $sheet = $workbook->Worksheets(1);

my $row = 100;
$sheet->Range("A2:L$row")
->Sort(
{
Key1 => $sheet->Range('e2'),
Key2 => $sheet->Range('c2'),
Key3 => $sheet->Range('d2'),
Order1 => xlAscending,
Order2 => xlAscending,
Order3 => xlAscending,
}
);

sortiert den bereich von A2:L100 nach den spalten e,c,d

(Das $Excel habe ich global, weil ich mit dem Script einige tausend Exceldateien erstelle, und da Excel nicht immer wieder beenden und neu starten will)\n\n

<!--EDIT|Strat|1146757141-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Excel und Win32::OLE --> Spaltenbreite und Sortier