简化'另存为CSV'程序

时间:2015-09-11 17:45:48

标签: excel

当我尝试在Excel中保存.csv文件时,系统会提示我另外三个窗口要求我保存。我不想阅读,但每次点击NoCancel都会感到疲惫:

SaveAs CSV confirmation
当我按CTRL + S时,如何将Excel设置为仅保存文件?

1 个答案:

答案 0 :(得分:2)

如果您习惯性地使用 Ctrl + s ,那么重写该按键组合可能是不明智的。但是,通过将新的Save-As-CSV分配给 Ctrl + Shift + S ,没有什么可以阻止您扩展其实用性。< / p>

放置以下内容的最佳位置将取决于您的个人情况,其中几乎没有提供。建议使用 Personal.xlsb ;嵌入到启用宏的模板是另一种模式,当然,您只需将它们放入当前正在处理的工作簿中的模块代码表中。

Sub no_training_wheels(Optional ws As Worksheet)
    Dim fn As String
    If IsEmpty(ws) Then Set ws = ActiveSheet
    With ws
        .Activate
        If CBool(Application.CountA(.Cells)) Then
            If CBool(Len(.Parent.Path)) Then
                fn = .Parent.Path & Chr(92) & Left(.Parent.Name & Chr(46), InStr(1, .Parent.Name, Chr(46)) - 1)
            Else
                fn = Application.GetSaveAsFilename( _
                    InitialFileName:=Environ("USERPROFILE") & Chr(92) & ActiveSheet.Name, _
                    fileFilter:="Comma Separated Value files (*.csv), *.csv")
                If LCase(fn) = "false" Then fn = Environ("TEMP") & Chr(92) & .Name
            End If
            Application.DisplayAlerts = False
            .Parent.SaveAs Filename:=fn, FileFormat:=xlCSV, Local:=True
            Application.DisplayAlerts = True
        End If
    End With
End Sub

Sub take_training_wheels_off()
    Application.MacroOptions Macro:="no_training_wheels", ShortcutKey:="S", _
                             Description:="Alternate Save-to-CSV without warnings"
End Sub

Sub put_training_wheels_on()
    Application.MacroOptions Macro:="no_training_wheels", ShortcutKey:="", _
                             Description:="Alternate Save-to-CSV without warnings"
End Sub

宏有一个可选的工作表参数,可以将其用途扩展到其他编码例程。这也具有从宏运行对话框中的宏名称:列表中删除的效果。有两个“帮助程序”例程可用于启用和禁用 Ctrl + Shift + S 击键组合。使用 Ctrl + s 进行常规保存操作不受影响。

我从你的推断中希望避免对话和大多数来自叙述的互动'我不打扰阅读,但是每次点击否或取消时都会感到厌倦并且你很乐意接受默认设置,只希望保存为CSV,尽可能少的交互。为此,我做了一些假设。在使用例程 carte blanche 之前,您可能想要查看它们。

Workbook.SaveAs method