एक्सेल VBA - रन टाइम ऑटोमेशन एरर


0

मेरे पास यह वीबीए कोड नीचे है (इस साइट पर बहुत ही सामान्य और साथ ही नेट पर अन्य स्थानों पर वीबीए में एसएचए हैश खोजने के लिए) जो विंडोज 7 32 पर एक्सेल 2013 में ठीक काम करता है।

हालाँकि एक ही कोड जब विंडोज 7 32 पर Excel 2003 SP3 में चलाया जाता है, तो लाइन सेट asc1 = CreateObject ("System.Text.UTF8Encoding") पर रन टाइम स्वचालन त्रुटि देता है।

मैं स्पष्ट नहीं हूँ कि यह Excel 2003 में विफल क्यों हो रहा है। यह मानते हुए कि यह डॉट नेट फ्रेमवर्क I के साथ डॉट नेट 4.0 को फिर से स्थापित करने के लिए कुछ है, जबकि 3.5.1 पहले से ही विंडोज 7 का हिस्सा है और फीचर पहले से ही सक्षम है।

इस साइट पर बहुत समान पोस्ट है यहाँ लेकिन यहां तक ​​कि इसका कोई हल नहीं है। मुझे आगे और क्या समस्या निवारण करना चाहिए? क्या यह लापता या भ्रष्ट घटकों / पुस्तकालयों या संबंधित कुछ के साथ कुछ हो सकता है?

धन्यवाद।

 Public Function SHA1(str1)
    Dim asc1 As Object
    Dim enc1 As Object
    Dim bytes, outstr, pos
    Set asc1 = CreateObject("System.Text.UTF8Encoding")
    Set enc1 = CreateObject("System.Security.Cryptography.SHA1CryptoServiceProvider")
    bytes = asc1.GetBytes_4(str1)
    bytes = enc1.ComputeHash_2((bytes))
    outstr = ""

    For pos = 1 To LenB(bytes)
        outstr = outstr & LCase(Right("0" & Hex(AscB(MidB(bytes, pos, 1))), 2))
    Next
    SHA1 = outstr

    Set asc1 = Nothing
    Set enc1 = Nothing


End Function


Private Sub CommandButton1_Click()
Dim txt
txt = TextBox1.Text
TextBox2.Text = SHA1(txt)
End Sub

enter image description here


VBA संपादक विंडो में, टूल्स के तहत - & gt; संदर्भ, क्या मशीन / सेटअप पर समस्या के रूप में गायब है?
panhandel

@ पैनहैंडल - आपके इनपुट के लिए धन्यवाद। मुझे कैसे पता चलेगा कि कुछ गायब है? डिफ़ॉल्ट वाले टिक मार्क हैं I मैंने पहले ही जोड़ा सिस्टम, mscorlib और amp MSXML5
patkim

किसी भी लापता को "मिसिंग:" के साथ उपसर्ग किया जाएगा, जैसे कि इस तस्वीर में 6 वें नंबर पर: cpearson.com/images/MissingRef.png
panhandel

ठीक मिल गया। उस मामले में कुछ भी गायब नहीं है।
patkim

मैं इस तथ्य पर भी पूरी तरह से चकित हूं कि आप 2013 से 2003 तक पीछे जा रहे थे, इस मामले में, यह 2013 में संदर्भित अपग्रेड डीएल के लिए बिल्कुल भी असामान्य नहीं है, जो कि 2003 से पीछे नहीं है। संदर्भ सूची और देखें कि क्या आप दोनों काम करने के लिए संदर्भ के लिए उस dll के उच्चतम सामान्य भाजक पा सकते हैं।
panhandel

जवाबों:


3

इसी तरह के मुद्दे पर चर्चा की गई https://stackoverflow.com/questions/375457/cant-instantiate-a-com-object-written-in-c-sharp-from-vba-vb6-ok Stackoverflow.com पर। एक्सेल VBA में उपयोगकर्ता को "स्वचालन त्रुटि" 0x80131700 मिली।

उसमें पोस्ट किए गए उत्तरों से इनपुट लेते हुए, मैंने Office 2003 अपडेट KB907417 से स्थापित किया http://www.microsoft.com/en-us/download/details.aspx?id=10624 और समस्या हल हो गई है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.