0

検索コマンドを使用して、Excel シートで正確な文字列を検索しようとしています。文字列を含むセルを見つけることに成功しました。ここでの問題は、正確な文字列が指定されたセルに一致するものを見つけることができないことです。

シナリオを以下に説明します。

シナリオ: 以下の値を持つ Excel シート。

C1(値): ABCD

D1(値): ABCDEFABCD

入力検索文字列: ABCD

期待値:3(C)

出力: 4 (D)

以下は私が使用していたコードです:

use Win32::OLE;
use Win32::OLE qw(in with);
use Win32::OLE::Variant;
use Win32::OLE::Const 'Microsoft Excel';

$Excel = Win32::OLE->new('Excel.Application');
$Excel->{'Visible'} = 0;        #0 is hidden, 1 is visible
$Excel->{DisplayAlerts}=0;  #0 is hide alerts

# Open File and Worksheet
my $Book = $Excel->Workbooks->Open ('D:\\all_files.csv'); # open Excel file
$Sheet = $Book->Worksheets(1);

# Find Last Column and Row
$search_string = "ABCD";

my $Row_index = $Sheet->UsedRange->Find({What=>$search_string,
    SearchDirection=>xlPrevious,
    SearchOrder=>xlByRows})->{Row};

$Book->Close();
$Excel->Quit();  

この困難を克服するために私を助けてください。前もって感謝します。

4

1 に答える 1