как защитить копию листа Excel от щелчка правой кнопкой мыши с помощью взаимодействия

#c# #asp.net #excel

Вопрос:

Когда пользователь хочет скопировать текст в Excel с клавиатуры, он защищен, но с помощью мыши текст или данные справляются. Как отключить щелчок правой кнопкой мыши по экспортированному Excel с помощью взаимодействия.

Мой код таков-

  Object Opt = Missing.Value;
 Excel.Application xlAppToExport = new Excel.Application();
 obook= xlAppToExport.Workbooks.Add(Opt);
 Excel._Worksheet xlWorkSheetToExport = default(Microsoft.Office.Interop.Excel.Worksheet);
 xlWorkSheetToExport = (Excel.Worksheet)xlAppToExport.Sheets["Sheet1"];
int iRowCnt = 5;
Excel.Range last = xlWorkSheetToExport.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
 xlWorkSheetToExport.Cells[1, 1] = "Title";
 Excel.Range range = xlWorkSheetToExport.Cells[1, 1] as Excel.Range;
 xlWorkSheetToExport.get_Range("A1", last);
 range.Style.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;
 xlWorkSheetToExport.Range["A1:J1"].MergeCells = true;  
      
 xlAppToExport.OnKey("^{c}", "");
 xlAppToExport.OnKey("^{v}", "");
 xlAppToExport.OnKey("^{x}", "");
 xlAppToExport.CutCopyMode = (Microsoft.Office.Interop.Excel.XlCutCopyMode)0;

xlWorkSheetToExport.Cells.Locked = true;
                          
 xlWorkSheetToExport.Protect("abc", true, true, true,
            Type.Missing, Type.Missing, true, true, Type.Missing,
            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
            Type.Missing, Type.Missing);
                         
    string filename=path   "Excel.xlsx";
    xlWorkSheetToExport.SaveAs(filename, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing, true, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlLocalSessionChanges, Type.Missing, Type.Missing);

                        
 xlAppToExport.Workbooks.Close();
 xlAppToExport.Quit();
 xlAppToExport = null;
 xlWorkSheetToExport = null;
                         
 

Комментарии:

1. Как насчет перехвата события щелчка правой кнопкой мыши?.. смотрите эту ссылку