Excel VBA - Ошибка автоматизации времени выполнения

Ниже приведен код VBA (довольно часто встречающийся на этом сайте, а также в других местах сети, где можно найти хэш SHA в VBA), который прекрасно работает в Excel 2013 на Windows 7 32.

Однако тот же код при запуске в Excel 2003 с пакетом обновления 3 (SP3) в Windows 7 32 выдает ошибку автоматизации времени выполнения в строке Set asc1 = CreateObject("System.Text.UTF8Encoding")

Мне непонятно, почему это происходит с ошибкой в ​​Excel 2003. Предполагая, что это как-то связано с каркасом dot net, я переустановил dot Net 4.0, в то время как 3.5.1 уже является частью Windows 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

2 ответа

Решение

Аналогичная проблема обсуждалась по адресу https://stackoverflow.com/questions/375457/cant-instantiate-a-com-object-written-in-c-sharp-from-vba-vb6-ok на Stackoverflow.com. Пользователь получил такую ​​же "ошибку автоматизации" 0x80131700 в Excel VBA.

Принимая во внимание полученные ответы, я установил обновление Office 2003 KB907417 с http://www.microsoft.com/en-us/download/details.aspx?id=10624 и проблема была решена.

Эту проблему можно решить, установив.NET Framework 3.5: https://www.microsoft.com/en-ca/download/details.aspx?id=21

Другие вопросы по тегам