rt,懂的集友请私信。我也不知道做这个的难度,也不太懂需要的技术,如果采用,暂定100金币作为报答吧。
4
赞同来自: zenglm 、ccnuwater 、款特长 、hnhaiou
可以试试这个,
2个文件,一个excel,一个python文件,excel里面的宏调用python脚本获取数据。
用的python xlwings 实现获得的雪球网的数据,避免了excel的VBA的操作,
excel表格最开始来自于集思录网站的某位大佬,抱歉名字忘记了,时间太久了,
不过VBA实在是不会用,也不好修改,
就用python再实现了一次,里面做了一个readme,自己看着配吧。
链接: https://pan.baidu.com/s/1Dh9J9kjVr5R2JlEvyHWOdA?pwd=vhg9
2个文件,一个excel,一个python文件,excel里面的宏调用python脚本获取数据。
用的python xlwings 实现获得的雪球网的数据,避免了excel的VBA的操作,
excel表格最开始来自于集思录网站的某位大佬,抱歉名字忘记了,时间太久了,
不过VBA实在是不会用,也不好修改,
就用python再实现了一次,里面做了一个readme,自己看着配吧。
链接: https://pan.baidu.com/s/1Dh9J9kjVr5R2JlEvyHWOdA?pwd=vhg9
0
@iTenBagger
通过百度网盘分享的文件:LOF实时数据(1).xlsm请问下能获取基金的净值吗?
链接:https://pan.baidu.com/s/151OwmKPqqDFsfQy90GfqlQ?pwd=39wm
提取码:39wm 这个版本信息更多
3
赞同来自: zenglm 、hnhaiou 、lieliema
@iTenBagger
链接:https://pan.baidu.com/s/151OwmKPqqDFsfQy90GfqlQ?pwd=39wm
提取码:39wm 这个版本信息更多
通过百度网盘分享的文件:LOF实时数据.xlsm通过百度网盘分享的文件:LOF实时数据(1).xlsm
链接:https://pan.baidu.com/s/14VxuzUc_HL4B_iTX2eQvKg?pwd=3bty
提取码:3bty
链接:https://pan.baidu.com/s/151OwmKPqqDFsfQy90GfqlQ?pwd=39wm
提取码:39wm 这个版本信息更多
3
赞同来自: hnhaiou 、lieliema 、pigque
温馨一眼 给的代码、
在 Excel 中使用 VBA(Visual Basic for Applications)来获取 LOF(上市开放式基金)的实时数据,可以通过调用金融数据提供商的API来实现。以下是一个示例程序,该程序使用免费的金融数据API(如Alpha Vantage或Yahoo Finance)来获取LOF基金的实时数据。需要注意的是,由于API的限制和免费配额,这种方法可能不适用于商业用途或大规模数据请求。
以下是一个使用Alpha Vantage API获取LOF基金实时数据的示例程序:
注册Alpha Vantage API密钥:
首先,你需要在Alpha Vantage网站上注册并获取一个免费的API密钥。
在Excel中启用VBA:
打开Excel,按 Alt + F11 打开VBA编辑器。
在VBA编辑器中,插入一个新模块(右键点击VBA项目 > 插入 > 模块)。
编写VBA代码:
vba
Option Explicit
Sub GetLOFFundData()
Dim ws As Worksheet
Dim apiKey As String
Dim fundSymbol As String
Dim functionType As String
Dim url As String
Dim xmlHttp As Object
Dim response As String
Dim jsonParser As Object
Dim jsonObject As Object
Dim timeSeries As Object
Dim latestClose As Double
' 设置工作表
Set ws = ThisWorkbook.Sheets("Sheet1")
' 设置API密钥和基金代码
apiKey = "YOUR_ALPHA_VANTAGE_API_KEY" ' 替换为你的Alpha Vantage API密钥
fundSymbol = "000001.SZ" ' 替换为你想要查询的LOF基金代码
functionType = "TIME_SERIES_INTRADAY"
' 构建请求URL
url = "https://www.alphavantage.co/query?function=" & functionType & "&symbol=" & fundSymbol & "&interval=1min&apikey=" & apiKey
' 创建XMLHTTP对象
Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
' 发送HTTP GET请求
xmlHttp.Open "GET", url, False
xmlHttp.send
' 获取响应
response = xmlHttp.responseText
' 解析JSON响应
Set jsonParser = CreateObject("ScriptControl")
jsonParser.Language = "JScript"
Set jsonObject = jsonParser.Eval("(" & response & ")")
' 检查是否成功获取数据
If jsonObject("Time Series (1min)") Is Nothing Then
MsgBox "无法获取数据,请检查API密钥和基金代码是否正确。"
Exit Sub
End If
' 获取最新收盘价
Set timeSeries = jsonObject("Time Series (1min)")
latestClose = timeSeries(timeSeries.Keys(0))("4. close")
' 将数据输出到工作表
ws.Range("A1").Value = "基金代码"
ws.Range("B1").Value = fundSymbol
ws.Range("A2").Value = "最新收盘价"
ws.Range("B2").Value = latestClose
MsgBox "数据获取成功!"
End Sub
运行VBA程序:
回到Excel,按 Alt + F8 打开宏对话框,选择 GetLOFFundData,然后点击“运行”。
注意事项:
确保你已经替换了 YOUR_ALPHA_VANTAGE_API_KEY 和 000001.SZ 为你的API密钥和LOF基金代码。
Alpha Vantage的API有免费和付费版本,免费版本有请求频率和数量的限制。
如果使用其他API(如Yahoo Finance),代码中的URL构建和JSON解析部分需要相应调整。
这个示例程序只是一个基础示例,实际应用中你可能需要处理更多的错误检查、数据清洗和格式化。
在 Excel 中使用 VBA(Visual Basic for Applications)来获取 LOF(上市开放式基金)的实时数据,可以通过调用金融数据提供商的API来实现。以下是一个示例程序,该程序使用免费的金融数据API(如Alpha Vantage或Yahoo Finance)来获取LOF基金的实时数据。需要注意的是,由于API的限制和免费配额,这种方法可能不适用于商业用途或大规模数据请求。
以下是一个使用Alpha Vantage API获取LOF基金实时数据的示例程序:
注册Alpha Vantage API密钥:
首先,你需要在Alpha Vantage网站上注册并获取一个免费的API密钥。
在Excel中启用VBA:
打开Excel,按 Alt + F11 打开VBA编辑器。
在VBA编辑器中,插入一个新模块(右键点击VBA项目 > 插入 > 模块)。
编写VBA代码:
vba
Option Explicit
Sub GetLOFFundData()
Dim ws As Worksheet
Dim apiKey As String
Dim fundSymbol As String
Dim functionType As String
Dim url As String
Dim xmlHttp As Object
Dim response As String
Dim jsonParser As Object
Dim jsonObject As Object
Dim timeSeries As Object
Dim latestClose As Double
' 设置工作表
Set ws = ThisWorkbook.Sheets("Sheet1")
' 设置API密钥和基金代码
apiKey = "YOUR_ALPHA_VANTAGE_API_KEY" ' 替换为你的Alpha Vantage API密钥
fundSymbol = "000001.SZ" ' 替换为你想要查询的LOF基金代码
functionType = "TIME_SERIES_INTRADAY"
' 构建请求URL
url = "https://www.alphavantage.co/query?function=" & functionType & "&symbol=" & fundSymbol & "&interval=1min&apikey=" & apiKey
' 创建XMLHTTP对象
Set xmlHttp = CreateObject("MSXML2.XMLHTTP")
' 发送HTTP GET请求
xmlHttp.Open "GET", url, False
xmlHttp.send
' 获取响应
response = xmlHttp.responseText
' 解析JSON响应
Set jsonParser = CreateObject("ScriptControl")
jsonParser.Language = "JScript"
Set jsonObject = jsonParser.Eval("(" & response & ")")
' 检查是否成功获取数据
If jsonObject("Time Series (1min)") Is Nothing Then
MsgBox "无法获取数据,请检查API密钥和基金代码是否正确。"
Exit Sub
End If
' 获取最新收盘价
Set timeSeries = jsonObject("Time Series (1min)")
latestClose = timeSeries(timeSeries.Keys(0))("4. close")
' 将数据输出到工作表
ws.Range("A1").Value = "基金代码"
ws.Range("B1").Value = fundSymbol
ws.Range("A2").Value = "最新收盘价"
ws.Range("B2").Value = latestClose
MsgBox "数据获取成功!"
End Sub
运行VBA程序:
回到Excel,按 Alt + F8 打开宏对话框,选择 GetLOFFundData,然后点击“运行”。
注意事项:
确保你已经替换了 YOUR_ALPHA_VANTAGE_API_KEY 和 000001.SZ 为你的API密钥和LOF基金代码。
Alpha Vantage的API有免费和付费版本,免费版本有请求频率和数量的限制。
如果使用其他API(如Yahoo Finance),代码中的URL构建和JSON解析部分需要相应调整。
这个示例程序只是一个基础示例,实际应用中你可能需要处理更多的错误检查、数据清洗和格式化。