精华内容
下载资源
问答
  • 开头的废话在软件项目的开发过程中为了提高开发效率和减少人工操作带来的错误项目在开发过程中常常会使用各种工具去生成各种设计书以及代码所有工具中比较常见的就是使用Excel 内置VBA开发的各种小工具因为Excel基本...

    ba01eb874488d09c9a89938d85c320c9.png

    !

    开头的废话

    在软件项目的开发过程中

    为了提高开发效率和减少人工操作带来的错误

    项目在开发过程中常常会使用各种工具

    去生成各种设计书以及代码

    所有工具中比较常见的就是

    使用Excel 内置VBA开发的各种小工具

    因为Excel基本上是所有电脑都会安装的软件

    而VBA已经内置于其中

    如果用VBA开发各种小工具的话

    不再额外需要的别的软件许可,减少开发成本

    而且VB语言易学易上手

    如果在现场你能用VBA做一些小的工具

    去提高生产性和准确率的话

    我相信就会得到很高的评价

    尤其在如今非常残酷的就业环境下

    大大提高让自己留下来的几率

    e393037ec1cb06ed0998e34389a623c9.png

    印象深刻的就是之前的一个项目,客户从最终用户那里接项目的时候,因为对项目需要对应内容严重预计不足,1期70几个画面的详细设计,代码,以及测试的对应期限只有2个月,预算就3人。

    常规的开发方式根本不可能保质保量地完成这个项目,最终笔者申请了一周的时间,用VBA做了一个小工具,一键生成了70多本详细设计书和代码的自动生成小工具。保质保量地完成这个项目,而且后面顺利地接到了2期,3期的项目。笔者也在那个现场呆了好长时间。

    笔者现在在现场担当RPA机器人的作业,在机器人稼动过程中会访问别的网站。比如交通费精算机器人,我们会访问Yahoo路线去查询出发点到终点的价格,而网址,存储出发点和终点的Excel文件的文件名和路径等等可能后期会改变的内容,我们把这些信息外置到一个Json文件里面。而这个Json文件,就是用VBA工具从Excel的设计书自动生成的。

    言归正传,那接下来一起做一个Json文件自动生成的工具吧。

    正文

    (1)新建一个带宏的Excel文件,命名为Robot_JSON.xlsm。

    (2)在Sheet1里面,做成如下图的表格

    (3)在这个Sheet内添加一个按钮用来生成Json。点击属性按钮,修改按钮的名称为Json文件生成

    ※添加按钮的方法:开发工具>插入>命令按钮(ActiveX控件)

    ※Excel默认是没有开发工具的菜单,可以通过如下的方法添加

    文件>选择>自定义功能区>选中主选项卡中开发工具选项>确定

    fe4913a9fb67533ed5a7b6a38352321c.png

    (4)在设计模式中(开发工具>启动设计模式)双击JSON文件生成按钮,打开VBA编辑界面

    2f6a339a9cb700665b8a46089b422c63.png

    (5)编辑如下主程序。

    036a47b1874000be00f38acd4988d9fa.pngea65f1dde151503d6baf3fa85f7caab3.png

    (6)启动测试

    解除设计模式(开发工具>解除设计模式)后,点击JSON文件生成。处理完成后,弹出OK!

    查看工具所在的文件夹,RobotConf.json文件生成。

    1dbe1beab5d9890662bc0ce9e47d3857.png

    打开RobotConf.json文件

    fd0fb42a4839a16ef2321c08c10bc907.png

    最后

    用简单的几行的VBA代码,就将设计书里的内容生成了Json文件。

    感谢您看到最后,如果发现本文有错误之处欢迎留言批评指正。如果您有别的好的效率化的点子欢迎留言。我们会在后面的系列中推出相关的文章。

    b729182ebcedc360e3ac9cad67c0b20c.gif

    小GO有话说:感谢这位RPA童鞋把他自己项目中的经验分享给我们。欢迎大家来ITgo技术者之家投稿,而且我们稿费不菲哦5000~20000日元可以是学习的经验分享,可以是技术知识共享,也可以是工作中的趣事,也可以是在日生活的点滴。也无需担心自己的文采不好,真实的就是最棒的!等你来投稿哦!

    718746a0e191619a06334f17120a1d61.gif

    展开全文
  • 本文给大家汇总介绍了几种使用VBA处理EXCEL并生成JSON文件的方法和思路,非常的实用,有需要的小伙伴可以参考下。
  • 开头的废话在软件项目的开发过程中为了提高开发效率和减少人工操作带来的错误项目在开发过程中常常会使用各种工具去生成各种设计书以及代码所有工具中比较常见的就是使用Excel 内置VBA开发的各种小工具因为Excel基本...

    4643cd3ff66229f4f98dedd50deb8115.png

    !

    开头的废话

    在软件项目的开发过程中

    为了提高开发效率和减少人工操作带来的错误

    项目在开发过程中常常会使用各种工具

    去生成各种设计书以及代码

    所有工具中比较常见的就是

    使用Excel 内置VBA开发的各种小工具

    因为Excel基本上是所有电脑都会安装的软件

    而VBA已经内置于其中

    如果用VBA开发各种小工具的话

    不再额外需要的别的软件许可,减少开发成本

    而且VB语言易学易上手

    如果在现场你能用VBA做一些小的工具

    去提高生产性和准确率的话

    我相信就会得到很高的评价

    尤其在如今非常残酷的就业环境下

    大大提高让自己留下来的几率

    e58a7bc2d0b7aadf5e6c96930974f4f6.png

    印象深刻的就是之前的一个项目,客户从最终用户那里接项目的时候,因为对项目需要对应内容严重预计不足,1期70几个画面的详细设计,代码,以及测试的对应期限只有2个月,预算就3人。

    常规的开发方式根本不可能保质保量地完成这个项目,最终笔者申请了一周的时间,用VBA做了一个小工具,一键生成了70多本详细设计书和代码的自动生成小工具。保质保量地完成这个项目,而且后面顺利地接到了2期,3期的项目。笔者也在那个现场呆了好长时间。

    笔者现在在现场担当RPA机器人的作业,在机器人稼动过程中会访问别的网站。比如交通费精算机器人,我们会访问Yahoo路线去查询出发点到终点的价格,而网址,存储出发点和终点的Excel文件的文件名和路径等等可能后期会改变的内容,我们把这些信息外置到一个Json文件里面。而这个Json文件,就是用VBA工具从Excel的设计书自动生成的。

    言归正传,那接下来一起做一个Json文件自动生成的工具吧。

    正文

    (1)新建一个带宏的Excel文件,命名为Robot_JSON.xlsm。

    (2)在Sheet1里面,做成如下图的表格

    (3)在这个Sheet内添加一个按钮用来生成Json。点击属性按钮,修改按钮的名称为Json文件生成

    ※添加按钮的方法:开发工具>插入>命令按钮(ActiveX控件)

    ※Excel默认是没有开发工具的菜单,可以通过如下的方法添加

    文件>选择>自定义功能区>选中主选项卡中开发工具选项>确定

    4a4133e55d97c676381b7e5cfcb414c0.png

    (4)在设计模式中(开发工具>启动设计模式)双击JSON文件生成按钮,打开VBA编辑界面

    ebf61055948de68138df022f4a4fb78a.png

    (5)编辑如下主程序。

    d7eacdd4c1b8e9534496d910828a3601.png537a555f113db9d965eee229ded701f0.png

    (6)启动测试

    解除设计模式(开发工具>解除设计模式)后,点击JSON文件生成。处理完成后,弹出OK!

    查看工具所在的文件夹,RobotConf.json文件生成。

    8e423fb240ba9a67900c459bc7d5e06c.png

    打开RobotConf.json文件

    881bd578542245371143975f43a6f0cb.png

    最后

    用简单的几行的VBA代码,就将设计书里的内容生成了Json文件。

    感谢您看到最后,如果发现本文有错误之处欢迎留言批评指正。如果您有别的好的效率化的点子欢迎留言。我们会在后面的系列中推出相关的文章。

    06fe548984d03c259ad7162003c72928.gif

    小GO有话说:感谢这位RPA童鞋把他自己项目中的经验分享给我们。欢迎大家来ITgo技术者之家投稿,而且我们稿费不菲哦5000~20000日元可以是学习的经验分享,可以是技术知识共享,也可以是工作中的趣事,也可以是在日生活的点滴。也无需担心自己的文采不好,真实的就是最棒的!等你来投稿哦!

    5a0ce61b4181ba1ff468531ca158a5b1.gif

    展开全文
  • VBA解析JSON数据(1)-- Split函数

    千次阅读 2019-02-16 07:20:48
    什么是JSON? JSON(JavaScript Object Notation) 是一种及其轻量级的...由于JSON天然具备了简洁和清晰的层次结构,易于机器解析和生成,从2005年前后开始JSON成为主流的网络数据传输格式。进行网页数据抓取的时候,...

    什么是JSON?

    JSON(JavaScript Object Notation) 是一种及其轻量级的数据交换格式,它是 ECMAScript (欧洲计算机协会制定的JavaScript规范)的一个子集,它使用完全独立于任何编程语言的文本格式来表示数据。
    由于JSON天然具备了简洁和清晰的层次结构,易于机器解析和生成,从2005年前后开始JSON成为主流的网络数据传输格式。进行网页数据抓取的时候,很多页面请求的返回结果都是JSON格式的。
    详细的JSON标准规范请参考:

    http://json.com/specs/

    JSON是什么样的?

    JSON 本质是一个字符串(由花括号{}包裹起来),它是JavaScript对象的字符串表示法。例如:

    {“applySn”: “粤G妆网备字2017050113”, “applySnTT”: “”, “apply_enter_address”: “”, “enterpriseName”: “广州市金日精细化工有限公司”, “enterpriseNameTT”: “”, “is_off”: “N”, “newProcessid”: “20170421153208vq3fu”, “off_date”: “”, “org_name”: “”, “processid”: “20170421153208vq3fu”, “productName”: “悠莅雅柔美亮肤按摩霜”, “productNameTT”: “”, “provinceConfirm”: “2017-05-17”}

    如何解读JSON?

    据说JSON易于人阅读和编写,我怎么看出来,只看到一堆字符,完全不知道包含什么信息。那么来看看下面这段JSON,是不是顿时觉得清爽了很多,其实内容和上一段完全相同,只是进行了相应的格式化显示。

    {
          "applySn": "粤G妆网备字2017050113",
          "applySnTT": "",
          "apply_enter_address": "",
          "enterpriseName": "广州市金日精细化工有限公司",
          "enterpriseNameTT": "",
          "is_off": "N",
          "newProcessid": "20170421153208vq3fu",
          "off_date": "",
          "org_name": "",
          "processid": "20170421153208vq3fu",
          "productName": "悠莅雅柔美亮肤按摩霜",
          "productNameTT": "",
          "provinceConfirm": "2017-05-17"
    }
    

    KEY和VALUE都由半角双引号包裹,二者之间由冒号做为间隔(冒号之后可能有空格),也就是如下格式,类似于VBA中字典对象。

    "KEY": "VALUE"
    

    例如:provinceConfirm的VALUE为2017-05-17,不难看出此部分数据包含13组KEY和VALUE。
    有很多在线工具可以帮助我们实现JSON的格式转换,这是编程过程中一个非常重要的工具。例如:

    http://jsonviewer.stack.hu/

    除了转换为上面的格式外,还可以转换为表格格式,如下图,有些Excel单元格的味道了。
    在这里插入图片描述

    VBA解析JSON

    非常可惜的是VB流行的年代JSON没出现,所以VBA也不支持JSON对象。但是既然JSON数据本质是一个字符串,VBA中丰富的字符串处理函数应该也可以胜任解析JSON这个工作。下面就以上面的JSON数据为例,演示如何在VBA中进行解析。

    Sub JSON_Split()
        Dim Res(100, 1 To 2)
        Dim objRegEx As Object
        Dim iRow, myStr, arrLine, arrItem
        myStr = Trim([A1].Value)
        Range("A3:B3").Value = Array("Key", "Value")
        myStr = Replace(myStr, """", "")
        myStr = Replace(myStr, " ", "")
        arrLine = Split(Mid(myStr, 2, Len(myStr) - 2), ",")
        iRow = 4
        For i = LBound(arrLine) To UBound(arrLine)
            arrItem = Split(Trim(arrLine(i)), ":")
            Cells(iRow, 1).Resize(1, 2).Value = arrItem
            iRow = iRow + 1
        Next
    End Sub
    

    代码解析
    第5行代码读取保存在工作表A1单元格的JSON字符串。
    第6行代码写入第3行的表头。
    由于KEY和VALUE中没有空格个引号,因此第7行和第8行代码去除JSON字符串中的引号和空格,便于后续拆分。
    第9行使用对号做为分隔符,把JSON字符串进行拆分,结果为"KEY":"VALUE"形式。其中MID函数是为了去除字符串首尾的花括号。
    第12行代码冒号做为分隔符再次拆分。
    第13行代码将结果写入相应行的单元格中。

    运行示例代码,结果如下,妥妥的写入了我们熟悉的单元格,可以很方便使用这些数据了。
    在这里插入图片描述

    JSON中一个KEY也可以对应多个VALUE,对于这类数据,需要再多使用一次SPLIT函数进行拆分。


    相关博文链接:
    VBA解析JSON数据(1)-- Split函数
    VBA解析JSON数据(2)–正则表达式
    VBA解析JSON数据(3)–JavaScript
    VBA解析JSON数据(4)–JavaScript进阶
    VBA解析JSON数据(5)–JavaScript回写Excel

    展开全文
  • Sub ToJson() '创建UTF8文本文件myrange = Worksheets("sheet1").UsedRange '通过有效数据区来选择数据'myrange = ActiveWorkbook.Names("schoolinfo").RefersToRange '通过定义的名称来选择数据'myrange = Range...

    Sub ToJson() '创建UTF8文本文件

    myrange = Worksheets("sheet1").UsedRange '通过有效数据区来选择数据

    'myrange = ActiveWorkbook.Names("schoolinfo").RefersToRange '通过定义的名称来选择数据

    'myrange = Range(Worksheets("sheet1").Range("a1").End(xlDown), Worksheets("sheet1").Range("a1").End(xlToRight)) '通过标题行的最大行最大列来选择数据

    Total = UBound(myrange, 1) '获取行数

    Fields = UBound(myrange, 2) '获取列数

    Dim objStream As Object

    Set objStream = CreateObject("ADODB.Stream")

    With objStream

    .Type = 2

    .Charset = "UTF-8"

    .Open

    .WriteText "{""total"":" & Total & ",""contents"":["

    For i = 2 To Total

    .WriteText "{"

    For j = 1 To Fields

    .WriteText """" & myrange(1, j) & """:""" & Replace(myrange(i, j), """", "\""") & """"

    If j <> Fields Then

    .WriteText ","

    End If

    Next

    If i = Total Then

    .WriteText "}"

    Else

    .WriteText "},"

    End If

    Next

    .WriteText "]}"

    .SaveToFile ActiveWorkbook.FullName & ".json", 2

    End With

    Set objStream = Nothing

    End Sub

    展开全文
  • ADODB.Stream创建UTF-8+BOM编码的...另,使用fso创建的文本文件编码为ANSI,ajax解析json时出现乱码无法正常解析。 Sub ToJson() '创建UTF8文本文件  myrange = Worksheets("sheet1").UsedRang
  • '生成json文件 ' ######################################################################## ' 生成MySQL连接情况  Sheets("json必填").Activate  AA_num = Sheet6.Range("A65536").End(xlUp).Row ...
  • 什么是JSON?JSON(JavaScript Object Notation) 是一种及其轻量级...由于JSON天然具备了简洁和清晰的层次结构,易于机器解析和生成,从2005年前后开始JSON成为主流的网络数据传输格式。进行网页数据抓取的时候,很多...
  • 由于工作关系,需要生成Json文件的配置,但vba使用dll实在太麻烦了,换了台电脑又需要重新引用,所以决定写Json的解析。 第一步:将字符串格式化。 思路:逐个字符判断该字符所属的类型,期望能将不同格式的Json字符...
  • 利用了百度的opendata API接口,接口链接...再去解析JSONfile,就可以获取节假日了。 代码如下: Function GetJson() Dim http Dim aa As String api = "https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?
  • I have the following JSON response:{"status": "Success","label": "pdf_base64_string","order": "ABC123456"}I'm trying to save a PDF file from the Base64 string per the following code:FileData = Base64D...
  • VBA操作treeview

    2018-05-13 21:26:58
    VBA操作treeview 最近研究Json转树型结构然后自动生成JsonPath
  • VBA复选下拉框,判断总共行数,循环判断复选框内容进行对比操作,生成JSON串。如有疑问,欢迎交流!
  • 实现功能是,传递一个Range区域的数据,自动生成JSON字符串,行首为列名。 函数如下: Function GetJSON(myrange) Dim returnStr As String Dim count As Integer Dim colunms As Integer
  • Excel用VBA传数据到服务器

    千次阅读 2017-01-17 15:17:20
    有个金融领域的需求,有一段excel的vba代码可以自动生成金融产品数据,要把这些数据在网页上(其实是微信公众号)展示,于是就需要把生成的数据发送到服务器并保存给网页用。vba里面可以发送Http请求,笔者先把需要...
  • 从SQL Server生成文档

    2018-12-28 21:36:30
    文档生成方法1——VBA 文档生成方法2——报告包 文档生成方法3——文档生成软件 操作中的文档生成软件 第1步:将表数据导出为XML或JSON 第2步:将XML / JSON填充到文档模板中 结论 将SQL Server数据自动填充...
  • 一、使用工具及python包介绍 ...json 用来处理json数据,或者把字符串等其他格式的数据转化为json数据。 base64 用来对图片进行base64编码,这是根据API的要求做的。 xlwings 用来与Excel进行交互,几乎可以取代VBA
  • 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的...
  • 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的...
  • 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的...
  • 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的...
  • 17.5.10 本机图像生成器 17.6 配置.NET应用程序 17.6.1 配置类别 17.6.2 为搜索程序集配置目录 17.7 版本问题 17.7.1 版本号 17.7.2 编程获取版本 17.7.3 应用程序配置文件 17.7.4 发布方的策略文件 17.7.5 运行库的...
  • C#高级编程(第6版)

    2011-05-11 11:10:30
     17.5.10 本机图像生成器  17.6 配置.NET应用程序  17.6.1 配置类别  17.6.2 为搜索程序集配置目录  17.7 版本问题  17.7.1 版本号  17.7.2 编程获取版本  17.7.3 应用程序配置文件  17.7.4 发布方的策略...
  • C#高级编程(第6版)

    2010-12-17 09:01:41
     17.5.10 本机图像生成器  17.6 配置.NET应用程序  17.6.1 配置类别  17.6.2 为搜索程序集配置目录  17.7 版本问题  17.7.1 版本号  17.7.2 编程获取版本  17.7.3 应用程序配置文件  17.7.4 发布方的策略...
  •  17.5.10 本机图像生成器  17.6 配置.NET应用程序  17.6.1 配置类别  17.6.2 为搜索程序集配置目录  17.7 版本问题  17.7.1 版本号  17.7.2 编程获取版本  17.7.3 应用程序配置文件  17.7.4 发布方的策略...
  •  用C# 2008生成图形  各种C#插件  用LINQ轻松地处理SQL Server数据库和XML  本书读者对象  本书适用于希望学习C#开发语言的最新版本的、有经验的开发人员。  2005年最权威的十大IT图书!2005年度引进版科技类...
  •  用C# 2008生成图形  各种C#插件  用LINQ轻松地处理SQL Server数据库和XML  本书读者对象  本书适用于希望学习C#开发语言的最新版本的、有经验的开发人员。  2005年最权威的十大IT图书!2005年度引进版科技类...
  •  用C# 2008生成图形  各种C#插件  用LINQ轻松地处理SQL Server数据库和XML  本书读者对象  本书适用于希望学习C#开发语言的最新版本的、有经验的开发人员。  2005年最权威的十大IT图书!2005年度引进版科技类...

空空如也

空空如也

1 2
收藏数 35
精华内容 14
关键字:

vba生成json