Решение VBA: Microsoft Excel/PowerPoint переименовать активный Файл, выберите папку для сохранения в папке желание и удалить старую версию

Я ищу решение VBA для одновременного выполнения такой задачи, как переименование активного файла, выбор папки для сохранения переименованного файла и удаление старой версии файла. Диалог" сохранить как " разрешает первые две части этого требования, но не удаляет ex. папка.

хорошее решение этого вопроса размещено Оливер Зальцбурга, который также является членом этого форума и выложил здесь. Однако этот код работает для Word только я Microsoft excel с небольшими изменениями (ActiveDocument для ActiveWorkbook), направленных на excel, но по-прежнему не работает в Excel. The Оливер Зальцбурга 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

при отладке ошибка отображается как прикреплено:

enter image description here

в этом месте:

enter image description here

  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 смог бы исправить вышеуказанную незначительную проблему. Спасибо заранее.

22
задан Community
20.02.2023 6:23 Количество просмотров материала 3091
Распечатать страницу

1 ответ

в:

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

wdformatxmldocument является константой слова. Это определено только словом. Я не знаю о других константах, но попробуйте записать макрос во время сохранения файла Excel с нужными параметрами.

Это может сделать работу:

ActiveWorkbook.SaveAs Filename:=sFilename, _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
0
отвечен Steve Rindsberg 2023-02-21 14:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх