我正在尝试使用VBA在东京交易所获得股票价格 . 我搜索了很多API,但除了finance.google.com之外,其中没有一个有东京交易所的数据 . 但谷歌财务已停止工作,不再以json格式返回数据,因此我必须利用剩下的内容,从返回的字符串中提取数据 .
下面是返回的字符串示例 .
EXCHANGE%3DTYO
MARKET_OPEN_MINUTE=540
MARKET_CLOSE_MINUTE=900
INTERVAL=86400
COLUMNS=DATE,CLOSE,HIGH,LOW
DATA_SESSIONS=[MORNING,540,690],[AFTERNOON,750,900]
DATA=
TIMEZONE_OFFSET=540
a1522216800,2313,2324,2240
1,2298,2350,2242
2,2325,2336,2300
5,2252,2333,2246
6,2229,2257,2216 <--
7,2222,2238,2214
8,2262,2267,2220
9,2293,2313,2249
12,2338,2351,2300
13,2373,2392,2351
14,2386,2396,2323
15,2368,2395,2335
16,2391,2398,2375
19,2420,2439,2389
20,2378,2419,2363
21,2411,2428,2389
22,2384,2422,2381
23,2407,2426,2386
26,2437,2438,2389
27,2454,2468,2443
28,2453,2456,2418
29,2437,2422,2443 <<--
您参考的网址 http://finance.google.com/finance/getprices?x=TYO&q=9143&i=86400&f=d,c,h,l
a1522216800是时间戳,以下行的第一个数字是以天为单位的间隔 . 1是在1522216800之后的1天 . 字母“a”后面的时间戳似乎随着我调用该URL而改变 .
我使用 InStr()
寻找"a"和 Mid()
来提取时间戳并将其转换为日期格式,并将日间隔添加到提取日期以获取我的具体日期 . 这是问题所在,例如,我希望从时间戳开始29天,由<< - 表示,当我使用相同的 InStr()
查找"29," VBA返回< - 的字符串位置时,因为它们具有相同的"29," in那条线 . 我怎样才能得到我的预定日期?
如果finance.google.com的回复是json格式,我的生活会更容易 . 我不认为有一种方法可以将这些字符串转换为json吗?
1 回答
看看下面的例子: