لماذا لا 'شل' العمل في VBscript في VS6?
-
09-06-2019 - |
سؤال
في ماكرو Visual Studio 6 أردت تشغيل برنامج خارجي ، حيث كتبت:
shell("p4 open " + ActiveDocument.FullName)
الذي أعطاني عدم تطابق نوع خطأ وقت التشغيل.ما انتهى الأمر إلى نوع هذا:
Dim wshShell
Set wshShell = CreateObject("WScript.Shell")
strResult = wshShell.Run("p4 open " + ActiveDocument.FullName)
ما الذي يجري هنا ؟ هذا هراء من الضروري حقا أو هل فاتني شيء ؟
المحلول
كما lassevk وأشار VBScript لا Visual Basic.
وأعتقد أن يبنى إلا في الكائن في VBScript هو WScript الكائن.
WScript.Echo "Hello, World!"
من مستندات
WScript الكائن الكائن الجذر من Windows Script Host كائن نموذج التسلسل الهرمي.فإنه لا يحتاج إلى أن إنشاء مثيل من قبل الاحتجاج خصائص و أساليب و هو دائما متاحة من أي ملف البرنامج النصي.
شيء آخر يجب إنشاء طريق CreateObject الاتصال.بعض من هذه الكائنات المدرجة هنا.
قذيفة كائن واحد من أخرى الأشياء التي تحتاج إلى إنشاء إذا كنت ترغب في استدعاء الأساليب على ذلك.
التحذير واحد ، هو أن RegExp هو نوع من بنيت في أنه يمكنك إنشاء مثيل كائن RegExp مثل ذلك في VBScript:
Dim r as New RegExp
نصائح أخرى
VBScript ليس Visual Basic.
تعطي هذه المحاولة:
Shell "p4 open" & ActiveDocument.FullName
VB6 يستخدم & لسلسلة السلاسل بدلا من + و سوف تحتاج إلى تأكد من أن اسم الملف هو المغطى في الاقتباس في حالة المساحات.انها محاولة من هذا القبيل:
Shell "p4 open """ & ActiveDocument.FullName & """"