再次保存为 CSV 文件时 Excel 崩溃
Posted
技术标签:
【中文标题】再次保存为 CSV 文件时 Excel 崩溃【英文标题】:Excel crashes when saved as CSV file a second time 【发布时间】:2017-04-12 14:07:21 【问题描述】:当我第一次运行代码时,它会替换现有文档并毫无问题地保存 CSV 文件。但是当我第二次运行代码时,保存 CSV 时 Excel 会崩溃。
我有一个解决方法,在第一次运行代码后重新打开 Excel,但它需要太多时间,有什么想法吗?
Sub copiar_ayuda1()
Application.DisplayAlerts = False
With Sheets("input11")
.Select
.Move
End With
PathName = "" & ThisWorkbook.Path & "os.csv"
ActiveWorkbook.SaveAs Filename:=PathName, FileFormat:=xlCSV, CreateBackup:=False
Application.CutCopyMode = False
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
End Sub
【问题讨论】:
你到底想做什么?是把Sheets("input11")
保存为CSV
文件格式吗?
您遇到的错误是什么?哪个指令导致它?您的问题不完整,请edit - 等等,不,没有错误,是吗?所以代码有效,但速度很慢?你能澄清你的帖子吗?
好的。我有一个 excel,我想将工作表(“input11”)保存为 CSV 格式。我第一次运行代码没有问题,创建的 CSV 替换了现有的。当我第二次运行它时,excel 崩溃了:“Microsoft excel 已停止工作”。当我保存新的 CSV 文件替换旧文件时发生这种情况。
【参考方案1】:
如果您尝试将Sheets("input11")
保存为“CSV”文件,您只需:
Option Explicit
Sub copiar_ayuda1()
Dim PathName As String
Dim Sht As Worksheet
Application.DisplayAlerts = False
PathName = ThisWorkbook.Path & "\os.csv"
Set Sht = ThisWorkbook.Worksheets("input11")
With Sht
.SaveAs Filename:=PathName, _
FileFormat:=xlCSV, CreateBackup:=False
End With
Application.CutCopyMode = False
End Sub
【讨论】:
@Diego Bauza 你试过上面的代码吗?它是否按您的预期工作? 感谢您的回答。它没有按我的预期工作。它将工作表的名称“input11”替换为“os”,并将整个原始文件以 CSV 格式保存,名称为“os”。以上是关于再次保存为 CSV 文件时 Excel 崩溃的主要内容,如果未能解决你的问题,请参考以下文章
为啥将excel格式数据保存为csv格式时,开头为0的数据都把0丢失了呢??
excel另存为csv时,身份证号后4位全部变成0了, 怎么解决
如何使用openoffice打开excel文件并保存为csv