You can do a FileSaveAs and replace the version in the filename. After you
do a filesaveas, the active project-version will be the last saved version.
Therefore, you may be better off doing it in the Project_BeforeClose event.
If the version you want is "Archive" then
Private Sub Project_BeforeClose(ByVal pj As Project)
FileSaveAs Replace(pj.FullName, ".Published", ".Archive")
End Sub