سؤال

أحافظ على عدد جيد من VBScripts لأداء العديد من البرامج النصية بدء التشغيل على شبكتي ولدي حفنة من الوظائف التي أستخدمها في جميعها تقريبا.

اختصار النسخ والصق، هل لدى أي شخص اقتراحات لكيفية الذهاب حول إنشاء مكتبات من رمز VBScript القابل لإعادة الاستخدام. أنا لا أجد استخدام مولد رمز للقيام بذلك طالما أنه ليس أكثر من الصداع من النسخ والصق هو. لكن أي توصيات ستكون موضع تقدير.

شكرا

هل كانت مفيدة؟

المحلول

VBScript لديه Execute بيان، لذلك إذا كنت لا ترغب في الذهاب، فتقترح مسار WSF Tester101، فيمكنك إجراء تشمل مثل هذا:

Set fso = CreateObject("Scripting.FileSystemObject")
file = "your_library.vbs"

Execute fso.OpenTextFile(file, 1).ReadAll

Set foo = New FooClass
MsgBox foo.GetBar()

افترض "your_library.vbs" سوف تحتوي على تعريف فئة ل FooClass.

تأكد من الاتصال بالتنفيذ في السياق العالمي، أو سوف تدخل في قضايا تحديد نطاق.

بالطبع تأكد من أن لديك جميع ملفاتك تحت سيطرة ضيقة لمنع الاستخدام الخبيث.

نصائح أخرى

أنا استخدم الاصطناعية include (على النحو التالي) وتخزين مكتباتي في دليل فرعي.

Sub Include( scriptName )
    Dim sScript
    Dim oStream
    With CreateObject( "Scripting.FileSystemobject" )
    Set oStream = .OpenTextFile( scriptName )
    End With
    sScript = oStream.ReadAll()
    oStream.Close
    ExecuteGlobal sScript
End Sub

من الواضح، إذا كان هناك خطأ في البرنامج النصي المضمن، فلن تحصل على رسالة خطأ مفيدة للغاية (لن تتمكن VBScript من إخبارك بالطريقة التي حدثت فيها المشكلة.) بمجرد أن يعمل كل شيء، ولكن ...

Include "c:\script\stdlib.vbs"
Include "c:\script\INI.cls"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top