[PHP-users 26303] Re: Spreadsheet_Excel_Writer のシートの保護について

HIGASHI Taku oolong @ cslab.co.jp
2005年 7月 27日 (水) 16:29:33 JST


東志です

シート保護は、セル書式-保護で「ロック/表示しない」のいずれかが
設定されたセルにのみ有効です。

シート保護が有効でも、セルのロックが無効なら書換えが可能という
ことです。

以下のように、ロックを有効にした書式を用意しておき、

    $format =& $workbook->addFormat();
    $format->setLocked();

ロックしたいセルの書式として指定すれば、お望みのようになります。

    $worksheet->writeString(0, 0, 'This Cell is Locked', $format);
    $worksheet->writeString(1, 0, 'This Cell is Unlocked');

では。



kawahara wrote:
> 川原です。
> 
> Spreadsheet_Excel_WriterのWorksheet::protectについて教えてください。
> 
> PHPでExcelファイルが作れると聞き、PEARのSpreadsheet_Excel_Writerを試しているのですが、
> 作られるExcelファイルのシートの保護の設定をどうやればいいのかわかりません。
> 
> $sheet->protect( "password" );を追加して作ったExcelファイルをExcel2000で開いたところ、
> メニューで【ツール-保護-シートの保護の解除】を確認したので、一応はシートの保護が働いていると思うのですが、
> シートに文字を書き込んだり、変更したりは自由にできてしまい、保護がぜんぜん効いていないのです。
> Spreadsheet_Excel_Writerでシートの保護はできるのでしょうか?
> 
> よろしくお願いします。


PHP-users メーリングリストの案内