VBA将工作表转换为带有大写字母文件扩展名的 *.csv

6ovsh4lw  于 2022-12-25  发布在  其他
关注(0)|答案(1)|浏览(124)

我一直在使用下面的VBA代码,代码运行良好(创建一个扩展名为.csv的文件)。
今天,我的公司有一个Office 365更新,由于某种原因,相同的代码未经编辑,创建了一个扩展名为.CSV的文件,使其无法被某些程序读取(它需要用小写扩展名编辑,以便进一步使用)。
为了让代码像以前一样运行,我需要知道/更改设置中的哪些内容?

Sub CSV_transfer()
    Dim header As Range
    Dim rngToSave As Range

Application.DisplayAlerts = False

    Windows("file.xlsm").Activate
    
    'Add a new sheet to become your csv and paste data
    Sheets.Add After:=ActiveSheet
    
    Set header = Sheets("sheet1").Range("AY3:AY6")
        header.Copy
    ActiveSheet.Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False

    Set rngToSave = Sheets("sheet1").Range("AX3:AX450")
        rngToSave.Copy
    ActiveSheet.Range("A5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
        
    'Move the sheet into it's own instance
    ActiveSheet.Move
    'Rename the tab
    ActiveSheet.Name = "export"

    'Save the WB as a CSV and close
    ActiveWorkbook.SaveAs FileName:="*path*\export", _
        FileFormat:=xlCSV, CreateBackup:=False, Local:=True
    ThisWorkbook.Saved = True
    ActiveWindow.Close
    Application.DisplayAlerts = True
    
End Sub
wfauudbj

wfauudbj1#

如果您指定文件扩展名,这可能会解决您的问题。不要使用默认值(现在是. CSV),尝试更改:

ActiveWorkbook.SaveAs FileName:="*path*\export"

致:

ActiveWorkbook.SaveAs FileName:="*path*\export.csv"

相关问题