in reply to Re: (Ovid) Re: Ghost fill in adobe forms
in thread Ghost fill in adobe forms

Since you already stepped down the slippery slope of Windows automation, you might as well go the full step and automate Excel from Perl, using Win32::OLE (for Windows) or Spreadsheet::ParseExcel (for Windows or Linux/other *nixes?) and some code grabbed from here (untested code):

use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; # die on errors... $Win32::OLE::Warn = 3; # get already active Excel application or open new my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); # open Excel file my $Book = $Excel->Workbooks->Open("c:/komodo projects/test.xls"); # You can dynamically obtain the number of worksheets, rows, # and columns through the Excel OLE interface. Excel's # Visual Basic Editor has more information on the Excel OLE # interface. Here we just use the first worksheet, rows 1 # through 4 and columns 1 through 3. select worksheet # number 1 (you can also select a worksheet by name) my $Sheet = $Book->Worksheets(1); foreach my $row (1..4) { foreach my $col (1..3) { # skip empty cells next unless defined $Sheet->Cells($row,$col)->{'Value'}; # print out the contents of a cell printf "At ($row, $col) the value is %s and the formula is %s\n", $Sheet->Cells($row,$col)->{'Value'}, $Sheet->Cells($row,$col)->{'Formula'}; } } # clean up after ourselves $Book->Close;

Of course, you could also use Perl to manipulate that workbook :

$sheet->Cells($row, $col)->{'Value'} = 1;
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web