是否可以在不关闭打开的 Word 文档的情况下重命名它?

是否可以在不关闭打开的 Word 文档的情况下重命名它?

我问这个问题只是因为我不相信在 Word 发布了这么多版本之后它还会存在。

通常,当我处理文档并意识到必须重命名它时,我必须关闭该文档,转到文件资源管理器,然后重命名它,然后再次打开它。

这个过程已经深深地融入了我的使用模式,直到现在我才意识到,我实际上必须打开和关闭多个窗口/应用程序等,才能重命名一个文件。当然,现在是 2012 年,我应该只需点击几下鼠标就能完成这样简单的事情,对吧?

那么有没有办法只重命名 word/excel/office 文档的文件名而不必先关闭它呢?

答案1

Word 在以下位置打开文档独占模式据我所知,这会锁定文件并阻止其他程序访问,直到通过关闭文件或 Word 本身释放锁定。我不认为提供对文档的共享访问权限是一个可行的解决方案,否则如果它有意义的话,它肯定早就实施了。

答案2

是的,有可能!

至少在 Mac(OS X 10.8.5)上是这样的。只需Cmd在打开的 Office 文档顶部单击要重命名的文件名即可。然后,您会看到文件所在的路径。接下来,单击文件名下方的文件夹名称。然后,该名称将出现在 Finder 屏幕中,您可以在其中将其名称调整为您想要的任何名称。

因此无需先关闭文件,也无需使用“另存为”并从查找器中删除第一个文件!(我不知道在 Windows 中是否可以使用相同或类似的技巧。)

答案3

在@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无法全局保存

答案4

微软在最新的 Word 中加入了突破性的新功能,旨在满足那些与你有同样担忧的人的需求 -

单击文件,然后单击“另存为”

相关内容