ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 关于EXCEL生成TXT文件如何实现

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-1-12 18:06 | 显示全部楼层 |阅读模式
如下例所示,EXCEL表格中的数据如何设置可以生成TXT中的文本。谢谢

测试.zip

7.01 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2020-1-12 20:03 | 显示全部楼层
不知道你的要求是什么,感觉像是练习题,因为又是空串,又是中文逗号,又是英文逗号分隔符,又是引号,又是日期换文本格式,又是字符串中含不可见空格,又是某些列不取,只能一会Print一会write。。。。。。。。附件供参考

Sub Demo()
Dim Arr, i&, j&, FileNum As Integer
Arr = ActiveSheet.Range("A2").CurrentRegion
FileNum = FreeFile
Open ThisWorkbook.Path & "\" & ThisWorkbook.Name & ".Txt" For Output As #FileNum
For i = 2 To UBound(Arr)
    Write #FileNum, Format(Arr(i, 1), "yyyy-m-dd");
    Print #FileNum, Chr(34); Arr(i, 2); Chr(34); ",";
    Write #FileNum, Trim(Str(Arr(i, 3)));
    Print #FileNum, ","; ","; ",";
    Write #FileNum, Trim(Str(Arr(i, 5)));
    Print #FileNum, ","; ","; ","; ","; ","
Next
Close #FileNum
End Sub


测试.rar

18.72 KB, 下载次数: 13

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-1-13 08:27 | 显示全部楼层
wodewan 发表于 2020-1-12 20:03
不知道你的要求是什么,感觉像是练习题,因为又是空串,又是中文逗号,又是英文逗号分隔符,又是引号,又是 ...

不用Print也可以(中文逗号应该是误写吧):

    Write #FileNum, Format(Arr(i, 1), "yyyy-m-dd"); Arr(i, 2); Trim(Str(Arr(i, 3))); Empty; Empty; Empty; Trim(Str(Arr(i, 5))); Empty; Empty; Empty; Empty; Empty; Empty

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-1-13 09:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
山菊花 发表于 2020-1-13 08:27
不用Print也可以(中文逗号应该是误写吧):

    Write #FileNum, Format(Arr(i, 1), "yyyy-m-dd"); A ...

多谢版主,你写了个Empty,在这个帖子中倒是很好的一个例子让我突然明白了一直糊涂的Empty和Null,和VBnullstring的区别了。。。。多谢多谢。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-18 10:43 | 显示全部楼层
wodewan 发表于 2020-1-12 20:03
不知道你的要求是什么,感觉像是练习题,因为又是空串,又是中文逗号,又是英文逗号分隔符,又是引号,又是 ...

谢谢,中文逗号和英文逗号的确是我粗心所致,这个要求主要是为了实现将EXCEL里面的表格转化为TXT格式,以方便导入软件,因为软件中要求TXT有具体的格式要求,所以看起来很混乱的感觉,谢谢。今年疫情严重,回去老家都没地方上网,都没来得及及时感谢,祝新年一切安好,幸福健康!

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-18 10:50 | 显示全部楼层
山菊花 发表于 2020-1-13 08:27
不用Print也可以(中文逗号应该是误写吧):

    Write #FileNum, Format(Arr(i, 1), "yyyy-m-dd"); A ...

谢谢,新年快乐,祝新年一切安好,健康幸福!

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-18 10:51 | 显示全部楼层
本帖最后由 ztb111 于 2020-2-18 10:52 编辑
wodewan 发表于 2020-1-12 20:03
不知道你的要求是什么,感觉像是练习题,因为又是空串,又是中文逗号,又是英文逗号分隔符,又是引号,又是 ...

英文逗号和中文逗号的确是我粗心所致,谢谢提醒,以后我会更严谨。谢谢,新年快乐,祝新年一切安好,健康幸福!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-20 05:38 , Processed in 0.042001 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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