我知道将js加载到VBA中有点愚蠢,但是我需要由Google加载libphonenumber库来对一大堆电话号码进行分析。

我试图适应从here借来的以下代码,但是编译后的库太大了,无法插入Vba代码中。

有什么方法可以从文件中加载.js库吗?
谢谢!

Function encodeURL(str As String)
   Dim ScriptEngine As ScriptControl
   Set ScriptEngine = New ScriptControl

   ScriptEngine.Language = "JScript"
   ScriptEngine.AddCode "function encode(str) {return encodeURIComponent(str);}"
   Dim encoded As String

   encoded = ScriptEngine.Run("encode", str)
   encodeURL = encoded
End Function


更新。

这应该是一个有效的代码,但是由于某些原因不起作用:

Function loabdjs(x As String)

    Dim fso As Scripting.FileSystemObject
    Set fso = New Scripting.FileSystemObject

    Dim script As String
    Dim fs As Scripting.TextStream

    ''' CODE : "function encode(str) {return encodeURIComponent(str);}"
    Set fs = fso.OpenTextFile("test.js", ForReading, False)
    MsgBox ("Never reached this point")


    script = fs.ReadAll

    fs.Close

    Dim ScriptEngine As ScriptControl
    Set ScriptEngine = New ScriptControl

    Dim output As String

    ScriptEngine.Language = "JScript"
    ScriptEngine.AddCode script

    output = ScriptEngine.Run("encode", x)
    loadjs = output
End Function


有任何想法吗?

最佳答案

从文件系统中将库读取为字符串:

10-04 12:36
查看更多