以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  Excel vba 数字分列成日期代码如何转换为foxtable代码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=172422)

--  作者:lds
--  发布时间:2021/10/12 13:31:00
--  Excel vba 数字分列成日期代码如何转换为foxtable代码

图片点击可在新窗口打开查看此主题相关图片如下:1634016387(1).png
图片点击可在新窗口打开查看

导出为Excel表格
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:证照整理.xls

Dim Book As New XLS.Book(ProjectPath & "muban\\证照整理.xls")
Dim fl As String = "d:\\证照整理.xls"

Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿
Dim Proc As New Process \'打开工作簿
Proc.File = fl
Proc.Start()
导出为Excel表格后想格式化一下 E列 将数字20210826 转换成2021/8/26  
打开后用vba转的代码是
Sub 数字转日期()

    Columns("E:E").Select
    Selection.TextToColumns , DataType:=xlDelimited, FieldInfo _
        :=Array(1, 5), TrailingMinusNumbers:=True
End Sub

如何用狐表导出时直接转成日期,或者这个VBA代码怎么转成狐表代码。谢谢了!

--  作者:有点蓝
--  发布时间:2021/10/12 13:40:00
--  
方法1、foxtable里的结束日期列改为日期型
2、如果是字符串,模板这样设置
<Left([结束日期],4) & "/" & Mid([结束日期],5,2) & "/" & Right([结束日期],2)>

--  作者:lds
--  发布时间:2021/10/12 14:43:00
--  
模板后面还有一个组合,把日期连接起来日期是按天数显示的,<Left([结束日期],4) & "/" & Mid([结束日期],5,2) & "/" & Right([结束日期],2)> 模板这样转换后就成文本格式了,分列只是改变了视觉效果,没有改变实际数据。想在导出数据后用VBA代码将表格的d列和E列分列成ymd日期列,这样就能正常连接了.
图片点击可在新窗口打开查看此主题相关图片如下:1634020449(1).png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/10/12 15:06:00
--  
再转换为日期类型:http://www.foxtable.com/webhelp/topics/1415.htm
--  作者:lds
--  发布时间:2021/10/12 15:30:00
--  
这样要写很多转换代码 数字 20121012 要转换成日期 2012/10/12 再转换成天数 44481 然后再链接成字符串

能不能在导出后
Dim Book As New XLS.Book(ProjectPath & "muban\\证照整理.xls")
Dim fl As String = "d:\\证照整理.xls"

Book.Build() \'生成细节区
Book.Save(fl) \'保存工作簿

这时再打开的时候执行代码

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("d:\\证照整理.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)

Ws.Range("D:E").NumberFormat = "yyyy/m/d" \'日期

‘加入分列代码 这里怎么转换成狐表代码
‘Columns("D:D").Select
  ‘ Selection.TextToColumns , DataType:=xlDelimited, FieldInfo _
  ‘     :=Array(1, 5), TrailingMinusNumbers:=True
App.Visible = True

这样就比较简单一些

--  作者:有点蓝
--  发布时间:2021/10/12 16:07:00
--  
Ws.Range("D:D").Select
app.Selection.TextToColumns(DataType:=MSExcel.Application.XlTextParsingType .xlDelimited, FieldInfo:={ 1, 5 } , TrailingMinusNumbers:=True)

--  作者:lds
--  发布时间:2021/10/12 16:48:00
--  
图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2021/10/12 17:05:00
--  
MSExcel.XlTextParsingType .xlDelimited
--  作者:lds
--  发布时间:2021/10/12 18:08:00
--  
输入商品代码和供应商编码后在图片名称列打开文件,附件Attachments里面有图片 ,选择图片后根据图片名称里面的- 提取开始和结束日期及类型 然后起止日期转换成日期,然后日期再转换成天数,  组合成起来,将数字转换日期再转天数不会做,就导出到Excel里面转换一下。组合成想要的组合. 我传了实例。
--  作者:lds
--  发布时间:2021/10/12 18:14:00
--  
附件图片点击可在新窗口打开查看