如何通过C++在Node.js中阻止用户打印Excel文件

可能的使用场景

在日常工作中,Excel文件中可能包含一些重要信息;为了防止内部数据传播,公司不会允许我们打印。这份文件将告诉你如何阻止他人打印Excel文件。

如何防止用户在MS-Excel中打印文件

您可以应用以下VBA代码以保护您的特定文件不被打印。

  1. 打开您不允许他人打印的工作簿。
  2. 在Excel功能区选择“开发者”标签,然后点击“控件”中的“查看代码”按钮。或者,您可以按下ALT + F11键打开Microsoft Visual Basic for Applications窗口。


  3. 然后在左侧项目资源管理器中,双击ThisWorkbook以打开模块,并添加一些VBA代码。


  4. 保存并关闭代码,返回到工作簿,现在当您打印示例文件时,将不允许打印,并会显示以下警告框:


如何使用Aspose.Cells for Node.js via C++阻止用户打印Excel文件

以下示例代码说明如何防止用户打印Excel文件:

  1. 加载示例文件
  2. 从工作簿的VbaProject属性获取VbaModuleCollection对象。
  3. 通过"ThisWorkbook"名称获取VbaModule对象。
  4. 设置VbaModule的代码属性。
  5. 将示例文件保存为xlsm格式
const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "Sample.xlsx");

// Loads the workbook which contains hidden external links
const wb = new AsposeCells.Workbook(filePath);
const modules = wb.getVbaProject().getModules();
modules.get("ThisWorkbook").setCodes("Private Sub Workbook_BeforePrint(Cancel As Boolean)\r\n  Cancel = True\r\n  MsgBox \"Refusing to print in paperless office\"\r\nEnd Sub\r\n");

wb.save("out.xlsm");