Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Win2k 上の Excel2002 で、 oleexcel.pl フィルタでセル内が index されない
- From: ken_kojima@xxxxxxxxxxxxxxxxxx
- Date: Thu, 7 Mar 2002 12:08:04 +0900
- X-ml-name: namazu-win32-users-ja
- X-mail-count: 01289
小嶋@青森です。
標記の件については、以前(昨年12月)によねざわさんが投稿してました
(msg01193.html)が、最近、私も同じような環境で同じ目にあったので、
ご報告します。
よねざわさんによれば(msg01204.html)
>oleexcel.plの SaveAs methodの項目に、「'」シングルクォートが
>なかったためでした。
ということで、解決したと報告がありましたが、私の環境ではそれでは
解決しませんでした。というより、私は、そういう問題ではないのでは?
と思っております。
ただ、SaveAsメソッドが動いていないというのは、私の環境でも同じと
判断します。
(oleexcel.plの各所で、いろんな変数の内容をprintで出力させると、
だいたいわかります。)
やはり、Excelのver.upに伴い、OLE周りが一部変更になった(あるいは
Bug)なのではないでしょうか。
仕方がないので、当面のところ、oleexcel.plの
# SaveAs xlText FileFormat
my $ret = $sheet->SaveAs({
FileName => $tmpfile, #
FileFormat => 'xlText', #
CreateBackup => 0 # False
});
の部分を、全部コメントアウトし、代わりに、
# 代替手段
open (FH1, ">>$tmpfile") or return("$tmpfile: $!\n");
my $array = $sheet->UsedRange->{'Value'};
foreach my $ref_array (@$array){
foreach my $cell (@$ref_array){
print FH1 $cell;
}
}
close (FH1);
my $ret = "1";
# 代替手段おわり
というコードを挿入して、ごまかしてます。一部のCellの値は、
Win32::OLE::Variantうんたらかんたら・・
になってしまって取得できませんが、ごく一部なので、ほっといております。
念のため、この問題が起きた環境
Win2k pro SP2
Office XP pro
Namazu 2.0.10
ActivePerl Build631
一太郎用に自作filterを導入のため、oletaro.plははずしています。