我已经在vba中编写了一个脚本,以从torrent网站中刮取不同内容movie names
及其内容。尽管和出现在其登录页面中,但我还是创建了脚本来解析同一层(从其主页开始)深一层的脚本。为了更清楚,这是这样的一个页面我的意思的主页。我的脚本完美地解析了它们。但是,我的意图是执行异步请求。当前,脚本正在同步(以阻塞方式)完成其工作。genre
name
genre
在上一篇文章中,我得到了omegastripes
谁创建的脚本的答案(which more or less performs like how multiprocessing works
),该脚本本来可以工作asynchronously
。因此,这就是我找到的主意,但无法在以下脚本中实现。
到目前为止我的尝试:
Sub GetInfo()
Const URL = "https://yts.am/browse-movies"
Dim Http As New ServerXMLHTTP60, Html As New HTMLDocument
Dim post As HTMLDivElement, oName$, oGenre$, R&
Dim I&, key As Variant, iDic As Object
Set iDic = CreateObject("Scripting.Dictionary")
With Http
.Open "GET", URL, False
.send
Html.body.innerHTML = .responseText
End …
Run Code Online (Sandbox Code Playgroud) 我在vba中编写了一些代码,使用IE England Premier League
从下拉列表中进行选择,Next To Play
此时此刻可见.我的目标是点击标题为的下拉链接Next To Play
,然后选择Australia A-League
from选项.但是,我找不到任何方法来点击这个链接.如果我按原样运行我的下面的脚本,它既不起作用也不抛出任何错误,最后退出浏览器.
链接到该网页:URL
这是我到目前为止所尝试的:
Sub soccer()
Dim IE As New InternetExplorer, html As HTMLDocument
Dim post As Object
With IE
.Visible = True
.navigate "replace_with_above_link"
Do Until .readyState = READYSTATE_COMPLETE: Loop
Set html = .document
End With
Application.Wait Now + TimeValue("00:00:05")
For Each post In html.getElementsByTagName("option")
'' If InStr(post.innerText, "Next To Play") > 0 Then MsgBox post.innerText: Exit For ''checked to see if I'm on …
Run Code Online (Sandbox Code Playgroud) 在这里回答我自己的问题.
我已经在Excel VBA中使用JSON做了一些工作,并发布了许多调查结果,我将以问答形式发布这些内容
https://stackoverflow.com/help/self-answer http://blog.stackoverflow.com/2011/07/ITS-OK-到问一答,你自己的问题/
所以在stackoverflow的其他地方,人们可以看到有关在VBA中解析JSON的问题,但他们似乎错过了一两个技巧.
首先,我重新使用自定义JSON解析库,而是使用ScriptControl的Eval方法作为我所有JSON代码的基础.此外,我们还表达了本机Microsoft解决方案的偏好.
这是一个先前的问题在Windows上的Excel VBA中,如何减轻由IDE的大小写行为破坏的解析JSON的点语法遍历问题?这个问题的基础.它显示了使用VBA.CallByName比使用点语法遍历解析的JSON对象更强大.另一个先前的问题在Windows上的Excel VBA中,如何循环解析JSON数组?展示了如何使用它来访问数组元素.但是CallByName返回一个奇怪的变量类型,它在Watch窗口中显示为Object/JScriptTypeInfo,如果在一个窗口中有一个类型Debug.Print(或悬停在变量上),则会得到无信息的"[object Object]".
我们如何改进并获得JSON字符串表示?
以下是您在Debug.Print(?)之后在立即窗口中看到的内容以及将鼠标悬停在变量上的屏幕截图.
这是5系列的问题3.这是完整系列
Q1 在Windows上的Excel VBA中,如何减轻由IDE的大小写行为破坏的解析JSON的点语法遍历问题?
Q2 在Windows上的Excel VBA中,如何循环解析JSON数组?
Q3 在Windows上的Excel VBA中,如何为已解析的JSON变量获取字符串化的JSON表示而不是"[object Object]"?
Q4 在Windows Excel VBA中,如何获取JSON键以抢占"运行时错误'438':对象不支持此属性或方法"?
Q5 在Windows上的Excel VBA中,对于已解析的JSON变量,这个JScriptTypeInfo究竟是什么?
我得到了一些JSON解析工作.我使用VBA从我的网络服务器解析JSON代码,将其写入我的Excel工作表中的单元格A1.但我没有把它转换成其他细胞.
这是我的JSON示例:
{
"@type":["IN.areaList.1","OII.list.1"],
"@self":"/bereiche",
"list":[
{"@type":["IN.bereich.1"],
"@self":"/1.1.Bereich.2.7",
"scha":false,
"trlState":"",
"oiischa":false,
"readyTo1":false,
"readyTo2":false,
"numberOfBypassedDevices":0,
"test":"",
"TestActive":false,
"chModeActive":false,
"incs":[]}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我的Sub,它正在为另一个样本工作:
Sub JsonToExcelExample()
Dim jsonText As String
Dim jsonObject As Object
Dim item As Object
Dim i As Long
Dim ws As Worksheet
Set ws = Worksheets("Remote")
jsonText = ws.Cells(1, 1)
Set jsonObject = JsonConverter.ParseJson(jsonText)
i = 3
ws.Cells(2, 1) = "Color"
ws.Cells(2, 2) = "Hex Code"
For Each item In jsonObject("0")
ws.Cells(i, 1) = item("color")
ws.Cells(i, 2) = item("value") …
Run Code Online (Sandbox Code Playgroud) 对此我很陌生,请耐心等待.我需要从嵌入式谷歌地图中提取标记坐标 - 示例链接是http://www.picknpay.co.za/store-search,我想提取搜索中地图中生成的所有标记位置.考虑使用像ParseHub这样的服务,但在走这条路线之前,我以为我会用SO /我自己动手.
必须有一种更简单的方法来查找存储在地图中的标记的坐标,而不是手动浏览它们并单独搜索它们的坐标?
我知道当 Json 是“简单”时(当它只是字符串时)在单元格 Excel 中显示我的 Parse Json,但现在我有字符串、对象和数组,我有点迷路了..我的 json 如下:
[
{
"name": null,
"type": null,
"actions": [],
"screen": null,
"container": null,
"sysid": 5,
"uftitem": null
},
{
"name": null,
"type": null,
"actions": [],
"screen": null,
"container": null,
"sysid": 6,
"uftitem": null
},
{
"name": "UTProject5",
"type": "type",
"actions": [
{
"name": "UTProject",
"description": "UTProject",
"pattern": "UTProject",
"isCheck": true,
"sysid": 1,
"uftaction": {
"sysid_uftAction": 2,
"code": "code uft",
"maxTime": 10,
"nbCycle": 20
}
},
{
"name": "UTProject2",
"description": "UTProject",
"pattern": "UTProject", …
Run Code Online (Sandbox Code Playgroud) 我正在构建一个VBA应用程序,该应用程序使用从网络抓取的资源来创建和修改Wordpress网站页面。Wordpress API返回一个JSON文件,但是在VBA中不支持解析JSON,因此我从GitHub导入了VBA-JSON。这是子例程:
Sub Wordpress()
'
' Wordpress API Test
'
Dim wpResp As Variant
Dim sourceSheet As String
Dim resourceURL As String
sourceSheet = "Resources"
resourceURL = Sheets(sourceSheet).Cells(6, 1)
wpResp = getJSON(resourceURL + "/wp-json/wp/v2/posts")
End Sub
Run Code Online (Sandbox Code Playgroud)
和它调用的函数。
Function getJSON(link) As Object
Dim response As String
Dim json As Object
On Error GoTo recovery
Dim retryCount As Integer
retryCount = 0
Dim web As MSXML2.XMLHTTP60
Set web = New MSXML2.XMLHTTP60
the_start:
web.Open "GET", link, False, UserName, pw
web.setRequestHeader "Content-type", "application/json"
web.send …
Run Code Online (Sandbox Code Playgroud) vba ×7
json ×5
excel ×4
web-scraping ×4
excel-vba ×3
api ×1
asynchronous ×1
click ×1
google-maps ×1
wordpress ×1