التوقيع الرقمي لمشروع كود VBA بشهادة
يمكنك توقيع مشروع كود VBA الخاص بك رقميًا باستخدام Aspose.Cells مع الأسلوب Workbook.VbaProject.Sign(). يرجى اتباع هذه الخطوات للتحقق مما إذا كان ملف Excel الخاص بك موقع رقميًا بشهادة.
- انقر فوق Basic Visual من علامة التبويب المطور لفتح البيئة المتقدمة لتطبيقات Basic Visual
- انقر فوق أدوات > التوقيعات الرقمية… من بيئة Visual Basic للتطبيقات
وسيظهر النموذج التوقيع الرقمي يظهر إذا كان المستند موقعًا رقميًا بشهادة أم لا.
توقيع مشروع كود VBA رقميًا بشهادة في C#
يوضح الشفرة النموذجية التالية كيفية استخدام طريقة Workbook.VbaProject.Sign(). هنا الروابط والملفات المدخلة والمخرجة للشفرة النموذجية. يمكنك استخدام أي ملف إكسل وشهادة أيضًا لاختبار هذه الشفرة.
- ملف Excel المصدر المستخدم في الكود العيني.
- ملف pfx العيني لإنشاء توقيع رقمي. يرجى تثبيته على جهاز الكمبيوتر الخاص بك لتشغيل هذا الكود. كلمة المرور الخاصة به هي 1234.
- ملف Excel الناتج الذي تم إنشاؤه بواسطة الكود العيني.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
String password = "1234"; | |
String pfxPath = sourceDir + "sampleDigitallySignVbaProjectWithCertificate.pfx";; | |
String comment = "Signing Digital Signature using Aspose.Cells"; | |
// Load the certificate into an instance of InputStream | |
InputStream inStream = new FileInputStream(pfxPath); | |
// Create an instance of KeyStore with PKCS12 cryptography | |
KeyStore inputKeyStore = KeyStore.getInstance("PKCS12"); | |
// Use the KeyStore.load method to load the certificate stream and its password | |
inputKeyStore.load(inStream, password.toCharArray()); | |
inStream.close(); | |
// Create an instance of DigitalSignature and pass the instance of KeyStore, password, comments and time | |
DigitalSignature signature = new DigitalSignature(inputKeyStore, password, comment, | |
DateTime.getNow()); | |
Workbook wb = new Workbook(sourceDir + "sampleDigitallySignVbaProjectWithCertificate.xlsm"); | |
wb.getVbaProject().sign(signature); | |
wb.save(outputDir + "outputDigitallySignVbaProjectWithCertificate.xlsm"); |