ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 306|回复: 6

怎样输入公历日期自动转换成阴历日期

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-3-27 14:35 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
在表格内公历日期栏输入公历日期,在阴历栏自动显示阴历日期

蓬莱区祭祀统计表.rar

18.22 KB, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2023-4-5 19:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我的解决思路:
1.通过自定义函数实现
2.类似爬虫,得到信息
3.整理信息并返回

代码:
  1. Function nl(gongli_date)
  2.     Dim HttpReq As Object
  3.     Dim datas, url, gongli_nian, gongli_yue, gongli_ri, flag1, flag2 As String
  4.     Dim pos1, pos2 As Integer
  5.     gongli_nian = Year(gongli_date)
  6.     gongli_yue = Month(gongli_date)
  7.     gongli_ri = Day(gongli_date)
  8.    
  9.     Set HttpReq = CreateObject("MSXML2.XMLHTTP.6.0")
  10.     url = "https://gonglinongli.bmcx.com/"
  11.     datas = "gongli_nian=" & gongli_nian & "&gongli_yue=" & Right("0" & gongli_yue, 2) & "&gongli_ri=" & Right("0" & gongli_ri, 2)
  12.     HttpReq.Open "Post", url, False
  13.     HttpReq.setRequestHeader "Content-Length", Len(datas)
  14.     HttpReq.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded; charset=utf-8"
  15.     HttpReq.send datas
  16.     If HttpReq.Status = 200 Then
  17.         tmp = HttpReq.responseText
  18.     End If
  19.    
  20.     flag1 = "<td bgcolor=" & Chr(34) & "#F5F5F5" & Chr(34) & " align=" & Chr(34) & "center" & Chr(34) & ">农历</td>"
  21.     flag2 = "<td bgcolor=" & Chr(34) & "#F5F5F5" & Chr(34) & " align=" & Chr(34) & "center" & Chr(34) & ">生肖</td>"
  22.     pos1 = InStr(tmp, flag1)
  23.     pos2 = InStr(tmp, flag2)
  24.     tmp = Mid(tmp, pos1 + Len(flag1) + 62, pos2 - pos1 - Len(flag2) - 81)
  25.     pos1 = InStr(tmp, "<div")
  26.     tmp = Mid(tmp, 1, pos1 - 1)
  27.     tmp = Replace(tmp, " ", "")
  28.     nl = tmp
  29. End Function
复制代码


效果图:



附件:

修改_蓬莱区祭祀统计表.rar

25.42 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2023-4-5 19:36 | 显示全部楼层
我是没回复成功,还是现在审核要很久?

TA的精华主题

TA的得分主题

发表于 2023-4-5 19:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
效果:
公历转农历效果图.gif

代码:
  1. Function nongli(gongli_date)
  2.     '函数说明:通过爬虫,得到农历信息,未使用正则。
  3.     Dim HttpReq As Object
  4.     Dim datas, url, gongli_nian, gongli_yue, gongli_ri, flag1, flag2, tmp As String
  5.     Dim pos1, pos2 As Integer '用于记录位置信息
  6.     '1.获取年月日
  7.     gongli_nian = Year(gongli_date)
  8.     gongli_yue = Month(gongli_date)
  9.     gongli_ri = Day(gongli_date)
  10.     '2.设置爬虫
  11.     Set HttpReq = CreateObject("MSXML2.XMLHTTP.6.0")
  12.     url = "https://gonglinongli.bmcx.com/"  '网址
  13.     datas = "gongli_nian=" & gongli_nian & "&gongli_yue=" & Right("0" & gongli_yue, 2) & "&gongli_ri=" & Right("0" & gongli_ri, 2) '参数
  14.     HttpReq.Open "Post", url, False
  15.     HttpReq.setRequestHeader "Content-Length", Len(datas)
  16.     HttpReq.setRequestHeader "CONTENT-TYPE", "application/x-www-form-urlencoded; charset=utf-8"
  17.     HttpReq.send datas
  18.     If HttpReq.Status = 200 Then
  19.         tmp = HttpReq.responseText
  20.     End If
  21.     '3.清理数据,拿到农历信息。注:因为正则需要添加库,有的同事电脑上不能直接用。因此,这里未使用正则,看起来一点都不高大上。
  22.     flag1 = "<td bgcolor=" & Chr(34) & "#F5F5F5" & Chr(34) & " align=" & Chr(34) & "center" & Chr(34) & ">农历</td>"
  23.     flag2 = "<td bgcolor=" & Chr(34) & "#F5F5F5" & Chr(34) & " align=" & Chr(34) & "center" & Chr(34) & ">生肖</td>"
  24.     pos1 = InStr(tmp, flag1)
  25.     pos2 = InStr(tmp, flag2)
  26.     tmp = Mid(tmp, pos1 + Len(flag1) + 62, pos2 - pos1 - Len(flag2) - 81)
  27.     pos1 = InStr(tmp, "<div")
  28.     tmp = Mid(tmp, 1, pos1 - 1)
  29.     tmp = Replace(tmp, " ", "")
  30.     nongli = tmp
  31. End Function
复制代码
修改_蓬莱区祭祀统计表.rar (25.42 KB, 下载次数: 1)

TA的精华主题

TA的得分主题

发表于 2023-4-5 19:42 | 显示全部楼层
weiqigreen 发表于 2023-4-5 19:36
我是没回复成功,还是现在审核要很久?

我在CSDN上记录的,审核通过了:https://blog.csdn.net/weiqigreen/article/details/129975416

TA的精华主题

TA的得分主题

发表于 2023-4-5 19:42 | 显示全部楼层
我在CSDN上记录的通过审核了。https://blog.csdn.net/weiqigreen/article/details/129975416

TA的精华主题

TA的得分主题

发表于 2023-4-5 22:30 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-20 00:46 , Processed in 0.041722 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表