मैं हर XX सेकंड में एक अपडेट चलाने के लिए एक्सेल प्राप्त करने की कोशिश कर रहा हूं।

Sub StartTesting() 
       Call RunAll_ISP   'this call works 
End Sub

Sub macro_timer() 'This sub schedules next run in XX seconds.
    Dim ScanInterval
    ScanInterval = Format(ThisWorkbook.Sheets("Configuration").Range("B5").Value, "hh:mm:ss")
    Application.OnTime Now + TimeValue(ScanInterval), "RunAll_ISP", Schedule:=True  ' !this macro call throws error!
End Sub

अगर मैं Start_testing मैक्रो चलाता हूं, तो कॉल काम करता है। यदि मैं macro_timer मैक्रो चलाता हूं, तो यह वांछित संख्या में सेकंड तक प्रतीक्षा करता है, और फिर इस त्रुटि को फेंकता है:

मैक्रो "C:\location_of_file\filename.xlsm'!RunAll_ISP' नहीं चला सकता। मैक्रो इस कार्यपुस्तिका में उपलब्ध नहीं हो सकता है या सभी मैक्रोज़ अक्षम हो सकते हैं

ट्रस्ट केंद्र में मैक्रोज़ की सेटिंग "VBA मैक्रोज़ सक्षम करें" पर सेट हैं

मैं क्या गलत कर रहा हूं?

0
Eki 5 नवम्बर 2021, 14:18
RunAll_ISP प्रक्रिया कहाँ स्थित है? क्या यह एक मानक मॉड्यूल में है? क्या इसे Public घोषित किया गया है?
 – 
Pᴇʜ
5 नवम्बर 2021, 15:17
सभी उप इस कार्यपुस्तिका में हैं। जनता की कोशिश की - कोई फर्क नहीं पड़ा
 – 
Eki
5 नवम्बर 2021, 22:55

1 उत्तर

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

आपकी समस्या का पुनरुत्पादन नहीं किया जा सकता है। यह सरल उदाहरण काम करता है। इसलिए चूंकि आपकी प्रक्रिया StartTesting ने काम किया है, इसका मतलब है कि मैक्रोज़ निश्चित रूप से सक्षम हैं, इसलिए एकमात्र विकल्प बचा है कि आपका मैक्रो RunAll_ISP मौजूद नहीं है (या गलत नाम दिया गया है)।

Option Explicit


Public Sub RunAll_ISP()
    MsgBox "I run"
End Sub


Public Sub CreateTimer()
    Application.OnTime Now + TimeValue("00:00:05"), "RunAll_ISP", Schedule:=True
End Sub
1
Pᴇʜ 8 नवम्बर 2021, 09:59
मैंने खाली किताब से शुरुआत की, और इसमें ऊपर दिया गया कोड जोड़ा। हालांकि मुझे बिल्कुल वही परिणाम मिला। यहां एक स्क्रीनशॉट है: लिंक। BTW मैं Office 365 . का उपयोग कर रहा हूँ
 – 
Eki
9 नवम्बर 2021, 11:02
और RunAll_ISP चलाते समय स्क्रीनशॉट यहां दिया गया है: link
 – 
Eki
9 नवम्बर 2021, 11:11
क्योंकि आपने कोड को ThisWorkbook में डाला है न कि Module में! इसके अलावा मैंने अपनी पहली टिप्पणी में पूछा कि कोड को एक मानक (गैर वर्ग) मॉड्यूल में डालने की जरूरत है। तो एक मॉड्यूल जोड़ें और कोड को वहां ले जाएं और यह काम करेगा।
 – 
Pᴇʜ
9 नवम्बर 2021, 12:30
आपका बहुत बहुत धन्यवाद ! मॉड्यूल जोड़ने और वहां कोड रखने से काम हुआ। मुझे इसके बारे में और पढ़ने की जरूरत है। समान समस्या वाले किसी भी व्यक्ति के लिए, यहां एक स्क्रीनशॉट दिया गया है कि यह कैसा दिखना चाहिए: link
 – 
Eki
9 नवम्बर 2021, 23:49