相关疑难解决方法(0)

如何在Excel VBA中对字符串进行URL编码?

是否有内置的方法在Excel VBA中对字符串进行URL编码,还是需要手动滚动此功能?

url excel encoding vba urlencode excel-vba

68
推荐指数
7
解决办法
10万
查看次数

是否有适用于VB6/VBA的JSON解析器?

我试图在VB6中使用Web服务.我控制的服务 - 当前可以返回SOAP/XML消息或JSON.我有一个非常困难的时候,如果VB6的SOAP类型(第1版)找出可以处理返回object-而不是简单的类型,如string,int等.到目前为止,我想不出什么,我需要做的就是VB6而归玩对象.

所以我想我可能会将Web服务中的响应序列化为JSON字符串.VB6是否存在JSON解析器?

vb6 serialization vba json web-services

39
推荐指数
6
解决办法
8万
查看次数

Excel VBA:解析的JSON对象循环

下面的示例...从解析的JSON字符串循环对象返回错误"对象不支持此属性或方法".任何人都可以建议如何使这项工作?非常感谢(我在这里问了6个小时寻找答案).

用于将JSON字符串解析为对象的函数(这可以正常工作).

Function jsonDecode(jsonString As Variant)
    Set sc = CreateObject("ScriptControl"): sc.Language = "JScript" 
    Set jsonDecode = sc.Eval("(" + jsonString + ")")
End Function
Run Code Online (Sandbox Code Playgroud)

循环解析对象将返回错误"对象不支持此属性或方法".

Sub TestJsonParsing()
    Dim arr As Object 'Parse the json array into here
    Dim jsonString As String

    'This works fine
    jsonString = "{'key1':'value1','key2':'value2'}"
    Set arr = jsonDecode(jsonString)
    MsgBox arr.key1 'Works (as long as I know the key name)

    'But this loop doesn't work - what am I doing wrong?
    For Each keyName In arr.keys 'Excel errors out …
Run Code Online (Sandbox Code Playgroud)

excel vba json scriptcontrol

21
推荐指数
2
解决办法
5万
查看次数

如何在没有外部库的情况下使用VBA解析JSON?

我有一个像下面这样的json:

{"sentences":[{"trans":"something ru","orig":"english word","translit":"Angliyskoye slovo","src_translit":""}], "src":"en","server_time":69}
Run Code Online (Sandbox Code Playgroud)

并解析它:

Function jsonDecode(jsonString As Variant)
    Set sc = CreateObject("ScriptControl"): sc.Language = "JScript"
    Set jsonDecode = sc.Eval("(" + jsonString + ")")
End Function

Set arr = jsonDecode(txt)
Run Code Online (Sandbox Code Playgroud)

结果 arr包含如下所示的值(在Watches中检查):

arr
 - sentences (type: Variant/Object/JScriptTypeInfo)
  - 0 (type: Variant/Object/JScriptTypeInfo)
    - orig (type: Variant/String)
    - trans (type: Variant/String)
    ...
  - Item 1 (type: Variant/Object/JScriptTypeInfo)
    - orig (type: Variant/String)
    - trans (type: Variant/String)
    ...
 - server_time
 - src
Run Code Online (Sandbox Code Playgroud)

arr.src运作良好,但我怎么能得到arr.sentences(0).trans?首先,VBA替换sentences用Sentences,其次(当我试图手动更改JSON)它仍然不允许使用sentenses(0) …

vba json object

18
推荐指数
2
解决办法
10万
查看次数

VBA:如何测试对象相等性(两个变量是否引用同一个对象)

测试相同自定义对象类型的两个变量是否引用同一对象的运算符或函数是什么?我试过了

If myObject = yourObject Then
Run Code Online (Sandbox Code Playgroud)

但是获取运行时错误438对象不支持此属性或方法.我猜这是告诉我覆盖'='运算符来测试两个对象的所有字段是否具有相同的值.但我想要的是测试它们是否是同一个对象.

oop vba

15
推荐指数
1
解决办法
2万
查看次数

使ScriptControl与Excel 2010 x64一起使用

我尝试使用给予解决这个,但是,每当我尝试运行最基础的东西,我得到一个Object not Defined错误.我认为这将是我的错(没有安装ScriptControl).但是,我尝试按此处所述进行安装,但无济于事.

我正在使用Office 2010 64位运行Windows 7 Professional x64.

com vba excel-vba scriptcontrol excel-2010

7
推荐指数
2
解决办法
2万
查看次数

如何从MacOS上的Excel中的HTTP端点检索JSON并解析它?

我已经看过如何使用VBA从Excel向服务器发送HTTP POST请求?

以及 描述如何使用QueryTables从HTTP端点检索数据的MacOS友好响应.它演示了如何检索单个字符串并将其填充到单元格中.

都好.现在我想检索多个值.它是一个很大的JSON字符串,我想在填充一个或多个单元格之前在Excel VBA中对其进行后处理.

这怎么可能?

我可以想到一种方法 - 将QueryTables的结果放入隐藏的单元格中,然后对隐藏的单元格进行后处理以填充其他单元格.我还没有评估过几个VBA的JSON库.

但这看起来很糟糕.真的,我不想依赖于将JSON存储为单元格中的值.我想将它只存储在我的VBA代码中的变量中.就像我在使用CreateObject("MSXML2.ServerXMLHTTP")一样.(注意:在MacOS上的Excel中无法使用CreateObject()).

我理解这里最好的答案可能是: 如果要在Excel中运行应用程序,请获取Windows计算机.

excel vba json excel-vba-mac

7
推荐指数
1
解决办法
2万
查看次数

将JSON Feed自动解析为MS Access

我的公司有一个供应商提供JSON数据源,我需要每两个小时加载到我们的MS Access数据库中.我需要:

  1. 从Feed中加载数据,
  2. 将JSON解析为Access的可用格式,然后
  3. 将其插入数据库.

我遇到了这个问题,讨论了类似的问题,但是没有很好的描述如何在MS Access中实现它.任何帮助感激不尽!

ms-access vba json access-vba

7
推荐指数
1
解决办法
3万
查看次数

如何使用VBA从网址导入json数据?

我有以下json数组,您可以在下面的URL轻松访问:

https://crowdfluttr.firebaseio.com/test/array.json

它具有以下输出:

{"-0p":{"date":"2015-01-01","string":"apple","value":1},"-1p":{"date":"2015-02-04","string":"banana","value":50},"-2p":{"date":"2015-02-03","string":"carrot","value":99},"-3p":{"date":"2015-02-02","string":"banana","value":20},"-4p":{"date":"2015-03-01","string":"banana","value":11},"-5p":{"date":"2015-04-01","string":"kiwi","value":23},"-6p":{"date":"2015-05-01","strawberry":"banana","value":10}}
Run Code Online (Sandbox Code Playgroud)

我想从此URL中提取此json数据,然后解析它以推送到Microsoft Access。

我找到了说明如何解析JSON的资源(解析JSON,在Excel VBA中解析JSON),但没有从URL中提取它然后进行解析

excel ms-access vba json http

4
推荐指数
1
解决办法
1万
查看次数