如何使用 VBA 将 Excel 文件另存为 CSV,这样新文件就不会给我错误消息?



我知道 Stack Overflow 上有类似的问题(和答案),但我专门尝试提示最终用户保存文件并根据需要重命名它,而不是自动创建文件。

我正在尝试创建一个宏,该宏将自动导出工作簿中的工作表,并将文件保存为非技术用户,作为 CSV。宏实际上工作正常,但它创建的每个文件都给我错误消息"'文件名.csv的文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则不要打开它。你是否仍要打开它?如何在没有此警告消息的情况下打开此新文件?这是我的代码:

Sub copy_translated_file()
Dim DstFile As String 'Destination File Name
Dim wb As Workbook
Dim InitFile As String
InitFile = "BE SURE TO CHANGE THE NAME OF THIS FILE TO WHAT YOU WANT.csv"
    Sheets("Translated").Select
    Sheets("Translated").Copy
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
     Application.CutCopyMode = False
Set wb = ActiveWorkbook
ActiveSheet.Buttons.Delete 'Get rid of the macro button
    Columns("N:N").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Delete Shift:=xlToLeft
    Range("F1").Select
DstFile = Application.GetSaveAsFilename(InitialFileName:=InitFile, _
                                        fileFilter:="CSV (*.csv), *.csv", _
                                        FilterIndex:=1, _
                                        Title:="Save As")
        If DstFile = "False" Then
            MsgBox "Actions Canceled. File not saved."
            wb.Close savechanges:=False 'Close File
            Exit Sub
        Else
        wb.SaveAs DstFile 'Save file
        wb.Close False 'Close file
        MsgBox ("Translated file successfully saved in specified location.")
        End If
End Sub
这是

Excel本身中的一个设置,转到"文件"-">"选项"-">信任中心

"

此外,请确保您的标志设置为FileFormat:=xlCSV

最新更新