ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH云课堂-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 EH云课堂直播课程免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 237|回复: 6

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

[复制链接]

TA的精华主题

TA的得分主题

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

测试.zip

7.01 KB, 下载次数: 4

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, 下载次数: 5

评分

参与人数 1鲜花 +2 收起 理由
ztb111 + 2 优秀作品

查看全部评分

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鲜花 +4 收起 理由
ztb111 + 2 太强大了
wodewan + 2 太强大了

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-1-13 09:20 | 显示全部楼层
山菊花 发表于 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
不知道你的要求是什么,感觉像是练习题,因为又是空串,又是中文逗号,又是英文逗号分隔符,又是引号,又是 ...

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

本版积分规则

关注官方微信,高效办公专列,每天发车

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

GMT+8, 2020-2-27 16:54 , Processed in 0.448423 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

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

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

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