من خلال العمل في VBA، لا يمكنني تعيين سلسلة لمتغير سلسلة تمت تهيئته (خطأ في الترجمة:النهاية المتوقعة للبيان)

StackOverflow https://stackoverflow.com//questions/24039148

سؤال

أنا أعمل في وحدة نمطية في الوصول أحاول تهيئة المتغيرات.لسبب ما الإعلان:

Dim ModName As String = "modWindowsFileSystem" 

ينشئ خطأ في الترجمة عند '=' مع رسالة الخطأ "المتوقع: نهاية البيان".لقد بحثت عن التنسيق على مواقع ويب متعددة تتفق جميعها مع بناء الجملة الخاص بي، وهنا تنسيق جدير بالثقة:http://msdn.microsoft.com/en-us/library/7ee5a7s1.aspxاقترح موقع ويب آخر أن أعلن المتغير داخل وظيفة مثل

Sub AssignValueString()
   Dim Modname As String
   Modname = "modWindowsFileSystem"
End Sub

ولكن هذا يبدو غير ضروري.إحدى المشكلات التي يمكن أخذها في الاعتبار هي أنني قمت بحفظ الوحدة وأطلق عليها اسم modWindowsFileSystem.لست متأكدًا مما إذا كان هذا سيتعارض بطريقة ما مع تهيئة هذا المتغير.

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

المحلول

يختلف VBA قليلاً عن VB.إن رابط msdn الذي قمت بنشره هو في الواقع خاص بـ VB، والذي يسمح بالإعلانات المضمنة والتعيين.لن يسمح VBA بهذا، للأسف.

لذلك، يمكنك إما تقسيمها، مثل المثال الخاص بك:

Dim Modname As String
Modname = "modWindowsFileSystem"

أو يمكنك وضع حرف المتابعة : لتحقيق ذلك على سطر واحد.

Dim Modname As String : Modname = "modWindowsFileSystem"

فيما يتعلق بتعيين متغيرات الوحدة، يمكنك الإعلان عن المتغيرات العامة خارج الوظيفة، ولكنك ستحتاج إلى تعيين قيمتها داخل الوظيفة، مثل init() وظيفة.الثوابت (المسمى ب Const) يمكن الإعلان عنها وتعيينها خارج الوظيفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top