XLSXパッケージで作成された基本的なExcelワークブックがあります。私はそれを.xlsxファイルとして保存したいが、編集中でないように1つを除くすべての列をロックする。 CellProtection()
機能で選択した列にセル保護を設定することはできますが、実際に列を保護するためにワークシートのパスワード保護を有効にする方法はわかりません。Excelファイルを保存し、Rでセル保護を有効にするにはどうすればよいですか?
library(xlsx)
wb = createWorkbook()
s1 = createSheet(wb, "Sheet 1")
addDataFrame(mtcars, s1) #using mtcars as example dataset
cs = CellStyle(wb, cellProtection = CellProtection(locked=F)) #setting style to unlock cells
rows <- getRows(s1, rowIndex=2:101)
cells <- getCells(rows, colIndex = c(2)) #getting the cells to unlock
lapply(names(cells), function(ii)setCellStyle(cells[[ii]],cs)) #applying unlocking to all columns except the second one (the one i want to leave locked)
saveWorkbook(wb, "file.xlsx")
私はExcelファイルをチェックインすると、列2の細胞の性質は、彼らがロック解除していると言うが、その後、私は「シートの保護」をクリックして、手動で実際にすべてのロックするためにパスワードを入力する必要が細胞。
これをRで実行してワークシート保護を有効にする方法はありますか?
を呼び出す前に、私はそれが実装されていないと思います(「パスワード」についての言及は、そのパッケージの中にありませんヘルプページ)とXLConnect :: loadworkbookのヘルプページ(「ワークブック」クラスのRオブジェクトのインスタンスを作成する方法)は次のようになります: "パスワード\t パスワードで保護されたファイルを開くときに使用するパスワード。パスワードは使用されていません。この引数は、create = TRUEを使用して新しいファイルを作成するときは無視されます。 –
ありがとうHack-Rと42-;はい、XLConnectを使用すると、保存時にワークブック全体をパスワードで保護することはできますが、それは私のためには機能しません。私はちょうどいくつかの細胞がユーザーによって編集されないようにしたい。たとえば、SASでこれを行うことが可能であることは分かっているので、Rでケーキになると思いました。間違っていました。 – rocket1906
@ rocket1906それは面白いです、どうやってそれをしますか?私は彼らの文書は、パスワードで保護されたファイルを読むことができると言うが、それはパスワードでファイルを保存することは言及していない。将来の参照のために知っておくとよいでしょう。 –