VBA 解决方案:Microsoft Excel/PowerPoint 重命名活动文件,选择文件夹保存在所需位置并删除旧版本

VBA 解决方案:Microsoft Excel/PowerPoint 重命名活动文件,选择文件夹保存在所需位置并删除旧版本

我正在寻找一个 VBA 解决方案来同时执行多项任务,例如重命名活动文件、选择保存重命名文件的文件夹以及删除旧版本的文件。“另存为”对话框允许此要求的前两部分,但不会删除 ex. 文件。

这个问题的一个好的解决方案是奥利弗·萨尔茨堡他也是这个论坛的成员,并发布了这里。但是该代码仅适用于 Microsoft Word,我尝试对 Microsoft Excel 进行少许修改(ActiveDocument 改为 ActiveWorkbook),以用于 Excel,但仍然无法在 Excel 中使用。奥利弗·萨尔茨堡此处的 VBA 代码略有修改,如下所示

   Sub MacroXL()
' Store original name
Dim sOriginalName As String
sOriginalName = ActiveWorkbook.FullName

' Save As
Dim sFilename As String, fDialog As FileDialog, ret As Long
Set fDialog = Application.FileDialog(msoFileDialogSaveAs)
ret = fDialog.Show
If ret <> 0 Then
    sFilename = fDialog.SelectedItems(1)
Else
    Exit Sub
End If
Set fDialog = Nothing

' Don't replace the original file
If sFilename = sOriginalName Then Exit Sub

 ActiveWorkbook.SaveAs2 Filename:=sFilename, FileFormat:= _
    wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
    :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
    :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
    SaveAsAOCELetter:=False, CompatibilityMode:=14

' Delete original
Kill sOriginalName
End Sub

调试时出现错误如附件:

在此处输入图片描述

在此位置:

在此处输入图片描述

  ActiveWorkbook.SaveAs Filename:=sFilename, FileFormat:= _
    wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
    :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
    :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
    SaveAsAOCELetter:=False, CompatibilityMode:=14

希望@Oliver Salzburg 或具有 VBA 技能的人能够修复上述小问题。提前致谢。

答案1

在此:

ActiveWorkbook.SaveAs Filename:=sFilename, FileFormat:= _
    wdFormatXMLDocument, [etc etc etc]

wdFormatXMLDocument 是 Word 常量。它仅在 Word 中定义。我不知道其他常量,但尝试在保存 Excel 文件时录制宏,其中包含所需的选项。

这可能会起到作用:

ActiveWorkbook.SaveAs Filename:=sFilename, _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

相关内容