C++ ile Kullanıcıların Excel Dosyasını Yazdırmasını Nasıl Önlersiniz

Olası Kullanım Senaryoları

Günlük çalışmalarımızda, Excel dosyasında önemli bilgiler olabilir; iç verilerin yayılmasını önlemek için şirketimiz bunların yazdırılmasını engelleyecektir. Bu belge, başkalarının Excel dosyalarını yazdırmasını nasıl engelleyeceğinizi anlatacaktır.

MS-Excel’de Kullanıcıların Dosyayı Yazdırmasını Nasıl Engelleriz

Aşağıdaki VBA kodunu kullanarak belirli dosyanızın yazdırılmasını engelleyebilirsiniz.

  1. Başkalarına yazdırmalarına izin vermediğiniz çalışma kitabınızı açın.
  2. Excel şeridinde “Geliştirici” sekmesini seçin ve “Kod Görüntüle” düğmesine tıklayın “Kontroller” bölümünde. Alternatif olarak, Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarını basılı tutabilirsiniz.


  3. Daha sonra sol Project Explorer’da ThisWorkbook üzerine çift tıklayarak modülü açın ve bazı VBA kodları ekleyin.


  4. Daha sonra bu kodu kaydedin ve kapatın, tekrar çalışma kitabına dönün ve şimdi örnek dosyayı yazdırmak istediğinizde, yazdırılamayacak ve aşağıdaki uyarı kutusunu alacaksınız:


Aspose.Cells for C++ kullanarak Kullanıcıların Excel Dosyasını Yazdırmasını Nasıl Engellersiniz

Aşağıdaki örnek kod, kullanıcıların Excel dosyasını yazdırmasını nasıl engelleyeceğinizi gösterir:

  1. Örnek dosyayı yükleyin.
  2. VbaProje özelliğinden VbaModuleCollection nesnesini alın.
  3. “ThisWorkbook” adıyla VbaModule nesnesini elde edin.
  4. VbaModule’nin kodları özelliğini ayarlayın.
  5. Örnek dosyayı xlsm biçimine kaydedin.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Create workbook from existing Excel file
    Workbook workbook(u"Sample.xlsx");

    // Access VBA project modules
    VbaModuleCollection modules = workbook.GetVbaProject().GetModules();

    // Set VBA code for 'ThisWorkbook' module
    modules.Get(u"ThisWorkbook").SetCodes(u"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");

    // Save the workbook as macro-enabled Excel file
    workbook.Save(u"out.xlsm");

    std::cout << "VBA code added and workbook saved successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}