vba修改csv文件保存格式不变

vba修改csv文件保存格式不变,第1张

vba修改csv文件保存格式不变需要设置。

1、首先,把导出来的或者是其他同事给的csv文件打开,进行编辑。

2、编橘凳辑完成后,点击保存,或者文件中的另存为。快捷键就是ctrl+s。

3、保存后提示可能含有csv不兼容功能,是否保持这种格式

4、d出保存到,可以选择桌面或者工作文件夹,然后命名文件名,这个时候的格式变成了xlsx。

5、塌毕保存完之后,桌面生圆衫旅成了另一个副本格式变成了xlsx,需要点击保存xlsx格式来保证格式的完整性。

对于“文本文件”,基本上这是没办法的事。“文本文件”只能看作是一种“顺序文件”。

无论什么语言的代码来改写,都牵涉到“数据移动”的问题。

毕竟,绝大多野源数情况下,你的这种所谓的“修改”,被改变的部分,数据长度都是会有变化的。

无论是变长了,或者变短了,在它后面的数据全部都要进行“移动”,

这种情况下,任何方法改数据,都是得“重新写”后面的数据。

如果文件较大,必然费时。没有“快”的方法。

但是,如果长度没有变化(新内容跟原内容一样长),都可以从指定位置开始写入新数据。

这时,无论哪种语言的代码,都可以快速完成 *** 作。

其实,楼主要想提高“速度”,应该考虑一种能够“随机读写”的存储结构来组织文件,

而不是用“文本文件”(当然颂伏态不知道楼主的需求,是否可以这样处理)。

如果用可以“随机读写”的数据存储结构,这样就可以达到快速存取、快速修改的目厅启的。

用VBA修改多个Excel指定的顷雀内容,需要先循环工作簿,再循环工作表, 然后再循环单元格。

关键是,看你的工作表是不是指定的工作表,银圆你的单元格区域是否固定,如果不固定就得循环,如果固定就先指定。

以下代码你可以看一下行不行。可以使用dir函数来实现工作簿的循环。

其他循环则看具体情况。另外,多个工作簿是在指定目录锋乎塌还是在当前目录,这个也很重要。是否是打开状态也很重要。

代码假定在代码工作簿所在的目录,全部关闭的情况下。

Sub 修改内容()

pth = ThisWorkbook.Path

wbn = Dir(pth &"\*.xls*")

Do While wbn <>""

If wbn <>ThisWorkbook.Name Then

Set wb = Workbooks.Open(pth &"\" &wbn, , False)

For Each st In wb.Worksheets

For Each rg In st.UsedRange

If rg Like "*K1+500*" Then

rg = Replace(rg.Value, "K1+500", "K2+350")

End If

Next

Next

wb.Close True

End If

wbn = Dir

Loop

End Sub

可以试一下。如果不行,要看具体的表才能确定你需要的代码怎么写。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12210314.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存