下面是我用於重命名文件的代碼。它執行SaveAs然後刪除原始文件。這需要在不同類型的工作簿上運行:一些擴展名爲.xls,另一些擴展名爲.xlsx。如果它具有.xls擴展名,我需要強制它以某種方式具有.xlsx擴展名。Excel VBA - 另存爲.xlsx擴展名
除了通過在彈出的InputBox的空白末尾手動鍵入「x」,我該怎麼做?
或者也許有不同的解決方案來解決這個問題?我的目標是強制InputBox顯示帶有.xlsx擴展名的當前文件名,而不管當前是什麼。
Sub RenameFile()
Dim myValue As Variant
Dim thisWb As Workbook
Set thisWb = ActiveWorkbook
MyOldName2 = ActiveWorkbook.Name
MyOldName = ActiveWorkbook.FullName
MyNewName = InputBox("Do you want to rename this file?", "File Name", _
ActiveWorkbook.Name)
If MyNewName = vbNullString Then Exit Sub
If MyOldName2 = MyNewName Then Exit Sub
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=thisWb.Path & "\" & MyNewName, _
FileFormat:=51
Kill MyOldName
End Sub
「我的目標是迫使的InputBox顯示用的.xlsx擴展不管是什麼目前是當前文件名」。多麼奇怪的目標。你的意思是你的目標是強制文件以'.xlsx'擴展名保存,不管目前有什麼擴展名? – Miqi180
是的。我知道它總是會是.xls或.xlsx。許多條件格式化將被應用到它,所以擴展名需要是.xlsx。我也迫使FileFormat爲51,使其成爲「現代」Excel工作簿。 – Robby