7

Я просто задаю этот вопрос, так как не верю, что после стольких версий Word его не будет.

Обычно, когда я работаю над документом и понимаю, что мне нужно его переименовать, мне нужно закрыть документ, перейти в проводник, затем переименовать его, а затем снова открыть.

Эта процедура настолько укоренилась в моем шаблоне использования, что я до сих пор не осознавал, что мне действительно приходится открывать и закрывать несколько окон / приложений и т.д. Просто для переименования файла. Конечно, это 2012 год, я должен быть в состоянии сделать простую вещь, как это с несколькими щелчками мыши, верно?

Так есть ли способ просто переименовать имя файла документа Word / Excel / Office без необходимости сначала закрывать его?

4 ответа4

5

Word открывает документы в эксклюзивном режиме AFAIK, поэтому он блокирует файлы и запрещает доступ другим программам до тех пор, пока блокировка не будет снята путем закрытия файлов или самого Word. Я не думаю, что предоставление совместного доступа к документам - это работоспособное решение, иначе оно наверняка было бы реализовано давно, если бы оно имело смысл.

1

Да, это возможно!

По крайней мере, на Mac (OS X 10.8.5). Просто нажмите Ctrl + клик на имени файла в верхней части открытого документа Office, который вы хотите переименовать. Затем вы видите путь к файлу. Далее вы нажимаете на название папки прямо под именем файла. Затем имя появляется на экране Finder, где вы можете настроить его по своему усмотрению.

Поэтому нет необходимости сначала закрывать файл, ни использовать «сохранить как» и удалить первый файл из поиска! (Я не знаю, работает ли такой же или похожий трюк в Windows.)

1

По предложению @Adam и @ Lưu Vĩnh Phúc я создал следующий макрос, который выполняет то, что вы просили. Обратите внимание, что это удалит любую историю, связанную с файлом.

      Sub RenameActiveFile()
    '
    ' Renames the current file without closing the document (assuming file has already been saved)
    '  (Actually, saves with new name and deletes previous, so history will be lost).
    '
    Dim strFileFullName, strFileName, strNewName As String
    Dim res As VbMsgBoxResult

    ' Get current name:
    strFileFullName = ActiveDocument.FullName               'for Word docs
    'strFileFullName = ActiveWorkbook.FullName               'for Excel docs
    'strFileFullName = Application.ActivePresentation.FullName       'for Powerpoint presentations*
    If (InStr(strFileFullName, ".") = 0) Then
        res = MsgBox("File has not been saved. Can't rename it.", , "Rename File")
        Exit Sub
    End If
    strFileName = Right(strFileFullName, Len(strFileFullName) - InStrRev(strFileFullName, "\")) 'strip path
    strFileName = Left(strFileName, (InStr(strFileName, ".") - 1))  ' strip extension

    ' Prompt for new name:
    strNewName = InputBox("Rename this file to:", "Rename File", strFileName)
    If (strNewName = "") Or (strNewName = strFileName) Then ' (Check whether user cancelled)
        Exit Sub
    End If

    ' Save file with new name:
    ActiveDocument.SaveAs2 FileName:=strNewName             'for Word docs
    'ActiveWorkbook.SaveAs2 FileName:=strNewName            'for Excel docs
    'Application.ActivePresentation.SaveAs FileName:=strNewName      'for Powerpoint presentations*

    ' Delete old file:
    With New FileSystemObject   ' (this line requires: Tools->References->Microsoft scripting runtime)
        If .FileExists(strFileFullName) Then
            .DeleteFile strFileFullName
        End If
    End With
End Sub

* Примечание: хотя этот макрос работает с Powerpoint (с изменениями, отмеченными выше), PowerPoint не может сохранить его глобально.

0

Microsoft включила новаторские новые функции в последнюю версию Word, разработанную для того, чтобы удовлетворить тех, кто именно вам нужен -

Нажмите файл и затем «Сохранить как»

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .