我问这个问题只是因为我不相信在 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 中加入了突破性的新功能,旨在满足那些与你有同样担忧的人的需求 -
单击文件,然后单击“另存为”