为什么microsoft excel 2013 activex组件无法创建对象?
我在2013 Excel中运行某些Visual Basic代码时遇到问题。我有一个函数,我在一个excel列中调用它。以下是我的功能:为什么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
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位版本。