I dunno. It all works just fine for me. (AS Perl, build 806)
In order to try to reproduce your error, I tried commenting out the use Win32::OLE::Const 'Microsoft Excel'; line. Indeed, that causes xlPrevious (etc.) to be undefined:
Bareword "xlPrevious" not allowed while "strict subs" in use...which is not a "type mismatch" error as you say you got.
Then I tried removing strict, and that allowed an OLE error to occur, but again, not the same as the one you say you got:
Unable to get the Find property of the Range class
But the discrepancies may perhaps be due simply to version differences. To eliminate one possible source of the error, I would look up the actual numeric values for those contants and use those.
Oh, here: I've done it for you.
xlPrevious = 2 xlByRows = 1 xlByColumns = 2
perlmonks.org content © perlmonks.org and Anonymous Monk, jdporter
prlmnks.org © 2006 edmund von der burg (eccles & toad)
v 0.03