Hur man förhindrar användare från att skriva ut Excel fil med Node.js via C++

Möjliga användningsscenario

I vårt dagliga arbete kan det finnas viktig information i Excel-filen; för att skydda den interna datan från att spridas tillåter inte företaget oss att skriva ut den. Det här dokumentet visar hur du förhindrar andra från att skriva ut Excel-filer.

Hur man förhindrar användare från att skriva ut fil i MS-Excel

Du kan tillämpa följande VBA-kod för att skydda din specifika fil från att skrivas ut.

  1. Öppna arbetsboken som du inte tillåter andra att skriva ut.
  2. Välj fliken “Utvecklare” i Excel-menyn och klicka på knappen “Visa kod” i avsnittet “Kontroller”. Alternativt kan du hålla ned tangenterna ALT + F11 för att öppna Microsoft Visual Basic för applikationer-fönstret.


  3. Dubbelklicka på ThisWorkbook i vänstra Projektutforskaren för att öppna modulen och lägg till några VBA-koder.


  4. Spara och stäng detta kodfönster, gå tillbaka till arbetsboken, och nu när du skriver ut exempelfilen tillåts det inte att skrivas ut, och du får följande varningsruta:


Hur man förhindrar användare från att skriva ut Excel-fil med Aspose.Cells for Node.js via C++

Följande exempel visar hur man förhindrar användare från att skriva ut en Excel-fil:

  1. Ladda in provfilen.
  2. Hämta VbaModuleCollection-objektet från VbaProject-egenskapen för Workbook.
  3. Hämta VbaModule-objektet via namnet “ThisWorkbook”.
  4. Ange egenskapen codes på VbaModule.
  5. Spara provfilen till xlsm-format.
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");