Microsoft Excel是一个强大的工具,您的业务可能已经定期使用。本文将允许您自动使用MachineMetrics数据填充电子表格,而不是手动从app.machinemetrics.com下载新数据。我们将在这里覆盖的是基础知识,但它可以扩展到您的数据愿意做任何您的数据!有关我们API的进一步文档,请参阅我们的开发人员页面.
笔记*本文适用于Windows Excel,并且无法在Mac Excel上工作
1.在Excel中打开新的或现有的电子表格
2.如果您已经在启用宏的电子表格中工作,请忽略此步骤。否则,单击文件那另存为,然后另存为“Excel Macro-Enabled Workbook”/ .xlsm文件类型
3.导航到开发人员标签。如果您的功能区(顶部导航菜单)上没有此选项卡,请参阅这些用于启用它的说明
4.单击Visual Basic按钮,这将打开Visual Basic编辑器
5.在新的VB编辑器窗口中,单击工具选项从顶部导航栏,然后选择宏从下拉下降
6.输入宏的名称,然后单击创建
7.您可以在“宏名称>”和“结束子”之间写下您的宏。或者,您可以复制和粘贴我们在这两条线之间看到的示例宏
子macroPOST ()
将昏暗的URL为字符串
Dim String1为字符串
将昏暗的json为对象
Dim ia为整数
StartDate = Format(Worksheets("Input").Range("B3"), "yyyy-mm-dd")
Enddate =格式(工作表(“输入”)。范围(“B4”),“YYYY-MM-DD”)
StartTime = Format(Worksheets("Input").Range("D3"), "hh:mm:ss")
EndTime =格式(工作表(“输入”)。范围(“d4”),“hh:mm:ss”)
URL = " https://api.machinemetrics.com/reports/production "
设置objhttp = createObject(“winhttp.winhttprequest.5.1”)
objhttp.open“post”,URL,false
objhttp.setrequestheader“授权”,“持票人”和“API键”
objhttp.setrequestheader“content-type”,“application / json”
jsonstring1 =“{”“startday”:“”“”&startdate&“t”&starttime&starttime&“z”“,”enddate&“t”&endtime&eNattime&eNattime&“z”“,“groupby”“:[{”“组”:“”机器“”},{“”组“”:“”换档“”},{“”组“”:“”Joboperation“”},{“”组“:”“操作员”“},{”“组”“:”日“”“}”,“”数据“”:[{“”公制“”:“”recketedparts“”},{“”公制“”:“scheduledexpectedParts”“”},{“公制”“:”totalparts“”},{“公制”“:”“时态”“}”,“平坦”“:”真的””}”
objHTTP。发送JSONString1
工作表(“数据”)。激活
昏暗被解析为字典
.Cells.Clear表(“数据”)
Cells(5,5) = objHTTP.responsetext
SET PARSED = JSONCONVERTER.PARSEJSON(OBJHTTP.RESPONSETEXT)
昏暗的暗淡
昏暗指数同长
昏暗的昏暗
Dim currentLength同长
m = 1
最长= 0
指数= 0
对于已解析的每个项目(“项目”)
CurrentLength = 0.
对于项目中的每个objitem
CurrentLength = CurrentLength + 1
下一个objitem
如果currentLength>最长,则索引= m
如果CurrentLength>最长,则longest = CurrentLength
m = m + 1
下一个项目
设置ParseDkeys =解析(“项目”)(索引)
昏暗的键作为变体
Dim KeyList As New Collection
暗号
j = 0
对于parseedkeys.keys中的每个项目
Keylist.add项目
Cells(1, j + 1) = Item
j = j + 1
下一个项目
Dim i As Long
我= 0.
Dim k As Long
对于已解析的每个值(“项目”)
k = 1
KeyList中的每一项
细胞(I + 2,k)=值(Keylist(k))
K = K + 1
下一个项目
I = I + 1
下一个价值
可制作
结束子
子MakeTable ()
Dim sht作为工作表
昏暗的最后一排一样长
把lastCol调暗一样长
昏暗的startcell作为范围
Dim objTable As ListObject
Set sht = Worksheets("Data")
设置StartCell = Range("A1")
工作表(“数据”)。激活
lastCol = ActiveSheet.Range (a1)指标(xlToRight) .Column最终
Lastrow = ActiveSheet.Cells(ActiveSheet.rows.count,lastcol).end(xlup).row
ActiveSheet.Range(“A1:”&_
ActiveSheet.Cells(Lastrow,LastCol).Address)。选择
设置objTable = ActiveSheet.ListObjects。添加(xlSrcRange, Selection,, xlYes)
objTable。Name = " Data_Import "
结束子
8.将宏中的文本“API键”用自己的API键替换为您的宏报告范围。如果你不确定如何做到这一点,请参阅这篇关于API密钥的文章(您也可能会注意到此脚本从表格上的单元格获取其日期范围。我们将在一分钟内添加这些)
注意:在本例中,我们将工作表名称保留为“Sheet1”,但根据需要将其替换为不同的工作表名称没有问题
9.点击保存图标。如果您收到通知,请说明您不在启用宏的电子表格中,请单击“是的按钮,然后按照Step#2的说明进行操作
10.接下来,我们需要启用参考。点击工具选项从顶部菜单栏,然后选择参考文献从下拉。向下滚动,直到看到“Microsoft Scripting Runtime”,选中左边的复选框,然后单击好吧
11.添加jsonconverter模块从其github存储库.点击链接,然后点击贪婪代码右上方的按钮,然后下载zip。提取内容,然后返回VBA窗口,然后单击文件从顶部的菜单栏中选择导入文件...然后从下载中选择“jsonconverter.bat”文件
12.宏结束,但我们仍需要为我们的数据请求定义开始和结束日期。关闭或最小化VBA窗口并返回电子表格。在以下单元格中输入所需的开始和结束日期和时间,并格式化日期格式。
B3 - 开始日期(EX。03/21/20)
D3 -开始时间(如12:00:00 AM)
B4 - 结束日期(EX。04/21/20)
D4 - 结束时间(前12:00:00)
13.选择开发人员选项卡
14.点击插入按钮,然后从中选择一个按钮表单控件下拉列表部分
15.单击并拖动您想要创建按钮的工作表
16.从出现的窗口中,选择您的宏,然后单击好吧
17.左键单击新按钮来运行宏!如果一切顺利,将在“Data”表中填充一个表。看看我们的开发人员页面有关错误的更多信息
如果您有兴趣在进口添加更多数据项,请查看我们的“检索生产度量标准”部分聚合API.!!
如果您有任何疑问,请联系support@machinemetrics.com
评论
0评论
请登入留下评论。