मैं संकलन समय पर सशर्त रूप से एक कॉन्स वैरिएबल का मान सेट करना चाहता हूं। मैंने सोचा कि मैं इसे वीबीए कंपाइलर निर्देशों का उपयोग करके प्राप्त कर सकता हूं # यदि # अन्य इत्यादि, लेकिन अब तक असफल रहा है:

#If Environ("username") = "myusername" Then
    Public Const ErrorHandling As Boolean = False
#Else
    Public Const ErrorHandling As Boolean = True
#End If

जब मैं इस कोड को चलाता हूं, तो मुझे एक त्रुटि मिल रही है कि Environ चर अपरिभाषित है।
क्या ऐसा कुछ भी संभव होगा? या क्या मुझे बस अपना 'एररहैंडलिंग' वैरिएबल पब्लिक (कॉन्स्ट नहीं) बनाना है, और इसे अपने कोड के इनिशियलाइज़ेशन पर सेट करना है?

अग्रिम धन्यवाद,
cjk

4
CJ K 20 नवम्बर 2018, 23:34

1 उत्तर

सबसे बढ़िया उत्तर

आप सशर्त if कथन में केवल स्थिरांक का उपयोग कर सकते हैं। या तो आप इसे VBAProject गुण में सेट करें, यहां समझाया गया है , या आपके कोड में।

Sub TestIt()
#Const Errorhandling = False

    #If Errorhandling Then
        Debug.Print "Error on"
    #Else
        Debug.Print "Error off"
    #End If

End Sub

आपको आगे के दस्तावेज़ यहां< मिलते हैं। /a> और pre पर एक पेज -परिभाषित स्थिरांक

अपडेट: जैसा कि कॉमिन्टर्न ने सही ढंग से बताया है कि मेरी स्टेटमेम केवल स्थिरांक पूरी तरह से सत्य नहीं है, देखें भाषा विनिर्देश का खंड 5.6.16.2

5
Storax 20 नवम्बर 2018, 21:14