我在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
错误消息是:&#39; microsoft excel 2013 activex组件无法创建对象&#39;在这行代码&#39;设置sc = CreateObject(&#34; scriptcontrol&#34;)&#39;。
奇怪的是,除了我以外,这个功能正在对我的同事们起作用。
为什么会这样?是否需要引用一些特定的库?我在网上搜索过,但直到现在我都无法解决这个问题。
希望你能帮助我。感谢。