为什么microsoft excel 2013 activex组件无法创建对象?

为什么microsoft excel 2013 activex组件无法创建对象?,excel,vba,Excel,Vba,我在2013 Excel中运行某些Visual Basic代码时遇到问题。我有一个函数,我在一个excel列中调用它。以下是我的功能: Public Function GetDetailedDescriptionAsHtml(json As String) On Error GoTo ErrHandler If json = "" Then json = "[]" End If Set sc = CreateObject("scriptcontr

我在2013 Excel中运行某些Visual Basic代码时遇到问题。我有一个函数,我在一个excel列中调用它。以下是我的功能:

Public Function GetDetailedDescriptionAsHtml(json As String)
    On Error GoTo ErrHandler
    If json = "" Then
        json = "[]"
    End If

    Set sc = CreateObject("scriptcontrol")
    sc.Language = "JScript"

    Dim html As String

    sc.Eval "var obj=(" & json & ")" 'evaluate the json response
    sc.AddCode "function GetDetailedDescriptionHtml(){ var htm =''; for(var i = 0; i< obj.length; i++){ htm += '<h2>' + obj[i].Header + '</h2><p>' + obj[i].Description +'</p>' } return htm;}"

    html = sc.Run("GetDetailedDescriptionHtml")

    GetDetailedDescriptionAsHtml = html

ErrHandler:
    MsgBox "Something's wrong: " & vbCrLf & Err.Description

End Function
错误消息在这行代码“Set sc=CreateObjectscriptcontrol”上显示:“microsoft excel 2013 activex组件无法创建对象”

奇怪的是,除了我之外,这个函数正在我的同事身上工作

为什么会这样呢?是否需要引用某些特定的库?我已经在网上搜索过了,但直到现在我还不能解决这个问题

希望你能帮助我


谢谢。

添加此“Dim sc As New ScriptControl”编辑否不可能,如果精确代码在其他地方有效,则可能缺少库。精确代码在其他excel计算机中有效。我正在重新安装它,我会尝试你的代码,一旦我完成。谢谢您的回答。@sten我尝试了您的代码,出现了另一个错误,在这行“Dim sc As New ScriptControl”中没有定义用户定义的类型,那么肯定是库。我不知道是哪一个。查看另一个系统,看看它们启用了什么。您的Office版本是64位吗?我想你需要32位版本。