So verhindern Sie, dass Benutzer Excel Dateien mit Node.js über C++ drucken
Mögliche Verwendungsszenarien
In unserer täglichen Arbeit können wichtige Informationen in der Excel-Datei enthalten sein; um die Verbreitung interner Daten zu verhindern, erlaubt die Firma keinen Druck. Dieses Dokument zeigt, wie Sie andere vom Drucken von Excel-Dateien abhalten können.
Wie man das Drucken einer Datei in MS-Excel verhindert
Sie können den folgenden VBA-Code anwenden, um Ihre spezifische Datei vor dem Drucken zu schützen.
- Öffnen Sie Ihre Arbeitsmappe, die Sie anderen nicht erlauben möchten zu drucken.
- Wählen Sie die Registerkarte Entwicklertools im Excel-Ribbon und klicken Sie auf die Schaltfläche Code anzeigen im Abschnitt Steuerelemente. Alternativ können Sie die Tasten ALT + F11 drücken, um das Microsoft Visual Basic for Applications Fenster zu öffnen.
- Und dann im linken Projekt-Explorer doppelklicken Sie auf ThisWorkbook, um das Modul zu öffnen, und fügen Sie einige VBA-Codes hinzu.
- Speichern und schließen Sie dieses Codefenster, kehren Sie zum Arbeitsbuch zurück, und wenn Sie die Beispiel-Datei drucken, wird dies nicht erlaubt, und Sie erhalten folgende Warnmeldung:
So verhindern Sie, dass Benutzer Excel-Dateien mit Aspose.Cells for Node.js via C++ drucken
Das folgende Beispiel zeigt, wie man das Drucken einer Excel-Datei durch Benutzer verhindert:
- Laden Sie die Beispieldatei.
- Holen Sie sich das VbaModuleCollection-Objekt aus der VbaProject-Eigenschaft der Arbeitsmappe.
- Holen Sie sich das VbaModule-Objekt über den Namen “ThisWorkbook”.
- Setzen Sie die Eigenschaften des VbaModule-Codes.
- Speichern Sie die Beispieldatei im 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");