Skip to content

Shall not allow Copy and Paste operation in a protected spreadsheet #351

@GoogleCodeExporter

Description

@GoogleCodeExporter
Hi.

How can I prevent a user from running ctrl + c ctrl + v in a spreadsheet? I 
tried to intercept the keys (ctrl+c, ctrl+v,shift+inx,ctrl+ins) and "do 
nothing" but not worked.

Another thing, when the sheet is locked you can still do ctrl + c/x ctrl + v 
between cells. Is this normal?

I lock the spreadsheet using this code:



Spreadsheet s;

Ranges.range(s.getSelectedSheet()).protectSheet("testing123");

int topRow = 0;
int bottomRow = 6;
int leftCol = 0;
int rightCol = 7;

void toggleLockCells() {
final Worksheet sheet = s.getSelectedSheet();
for (int r = topRow; r <= bottomRow; r++) {
for (int c = leftCol; c <= rightCol; c++) {
org.zkoss.poi.ss.usermodel.Cell cell = 
(org.zkoss.poi.ss.usermodel.Cell)Utils.getOrCreateCell(sheet, r, c);
org.zkoss.poi.ss.usermodel.CellStyle cellStyle = 
(org.zkoss.poi.ss.usermodel.CellStyle)cell.getCellStyle();
if (cellStyle.getLocked() != lock) {
org.zkoss.poi.ss.usermodel.CellStyle newCellStyle = 
sheet.getBook().createCellStyle();
newCellStyle.setLocked(true);
Ranges.range(sheet, r, c).setStyle(newCellStyle);
System.out.println("row : " + r + " - c : " + c);
}
}
}
}


I'm using version 2.1.0.

Thanks

Original issue reported on code.google.com by chenhe...@gmail.com on 10 Jun 2011 at 1:21

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions