ErwinWinter has asked for the wisdom of the Perl Monks concerning the following question:

Ave PerlMonks,
(pls. forgive me: this is my very 1st posting here!)
I was looking several days in www for solution of the following problem:
while browsing multiple Excel files with Perls Win32::OLE on a WinXP-PC
my script does "cross-checks" with the contents of many cells
The problem sounds simple: the script does TOO much, that means it reads and checks also "Strikedout" cell-contents,
which should NOT be processed.
Here my QUESTION: how do I recognize these cells ?
( It must be something with the usage of the special Strikeout-Font )
BTW: Because I've written already many code using the Win32:OLE features,
I want to avoid to switch to other CPAN-modules.
In hope (&pray with you, that) there exists an easy function, which shows me the used Font of an Excel cell,
allowing me to skip wiped-out rows from the normal processing.
Any help is highly appreciated.

Replies are listed 'Best First'.
Re: Excel Strikeout
by jrsimmon (Hermit) on Jul 10, 2009 at 19:07 UTC
Re: Excel Strikeout
by SuicideJunkie (Vicar) on Jul 10, 2009 at 17:42 UTC

    A quick search on CPAN for spreadsheet & excel turned up ParseExcel, which explicitly mentions $font->{Strikeout} in the list of font properties that it knows about.

Re: Excel Strikeout
by ErwinWinter (Novice) on Jul 10, 2009 at 21:38 UTC
    Yipieee!!!
    I think my problem is solved ! Thanks to SuicideJunkie & jrsimmon.

    # this code works perfect and returns 0 or 1 my $isErased = $worksheet->Cells(1,2)->Font->{'Strikethrough'}; # but using 'Strikeover' in the code my $isErased = $worksheet->Cells(1,2)->Font->{'Strikeover'}; # causes the following ugly error message: # Win32::OLE(0.1707) error 0x80020003: "Member not found" # in METHOD/PROPERTYGET "Strikeover" at FONT-test.pl line 24

    Yesterday -at work- I already tried this wrong coding and had no more idea how to proceed.

    Here -at home- on my laptop, I have an English Excel-Version,
    which showed me the right wording, when I "wiped" the text in cel(1,2).
    But at work, we have German versions of M$-office, showing 'Durchgestrichen'. grrrrr......

    Have I nice WE!