note
davies
Surprisingly, it's not totally clear what you want. Do you want "0200" as a string (which is what you say) or the number 200 formatted with a leading zero (which is what you seem to be trying to do)? The following code illustrates both:
<code>
use strict;
use warnings;
use diagnostics;
use Win32::OLE;
my $xl = Win32::OLE->new('Excel.Application');
$xl->{Visible} = 1;
$xl->Workbooks->Add;
my $rng = $xl->Workbooks(1)->Sheets(1)->Range("A1");
$rng->{Value} = 200;
$rng->{NumberFormat} = "0000";
$rng = $xl->Workbooks(1)->Sheets(1)->Range("A2");
$rng->{Value} = "'0200";
</code>
A1 contains the number formatted with a leading zero (you may need some variant on this depending on what you are doing). A2 contains the text string. Note on the last line that the assignment starts with a double quote <I>followed by a single quote</I>. The text string doesn't (usually) need formatting.</p>
Hope this helps and regards,</p>
John Davies
821041
821041