Можно ли переименовать открытый документ Word, не закрывая его?

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

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

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

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


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


2

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

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

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

Улучшите этот ответ
отредактировано 12 ноября ’13 в 23:39
Jawa
3,39988 золотых знаков2828 серебряных знаков3535 бронзовых знаков
ответил 12 ноя ’13 в 23:17
  • Это также работает в Windows, используя Ctrl + щелчок, открывая небольшое всплывающее окно, где имя файла можно редактировать! Отличный совет, спасибо @frisbee! — bdforbes 5 мая ’20 в 22:54
добавить комментарий |

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

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

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


1

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

  Sub RenameActiveFile () '' Переименовывает текущий файл, не закрывая документ (при условии, что файл уже был сохранен) '(  Фактически, сохраняется с новым именем и удаляется предыдущее, поэтому история будет потеряна).  'Dim strFileFullName, strFileName, strNewName As String Dim res As VbMsgBoxResult' Получить текущее имя: strFileFullName = ActiveDocument.FullName 'для документов Word' strFileFullName = ActiveWorkbook.FullName 'для Excelresentation.  Если (InStr (strFileFullName, ".") = 0) Then res = MsgBox ("Файл не был сохранен. Невозможно переименовать его.",, "Rename File") Exit Sub End If strFileName = Right (strFileFullName, Len  (strFileFullName) - InStrRev (strFileFullName, "")) 'удалить путь strFileName = Left (strFileName, (InStr (strFileName, ".") - 1))' strip extension 'Запрос нового имени: strNewName = InputBox ("Rename  этот файл в: "," Rename File ", strFileName) If (strNewName =" ") Or (strNewName = strFileName) Then '(Проверить, отменен ли пользователь) Exit Sub End If' Сохранить файл с новым именем: ActiveDocument.SaveAs2 FileName:  = strNewName 'для документов Word' ActiveWorkbook.SaveAs2 FileName: = strNewName 'для документов Excel' Application.ActivePrese  ntation.SaveAs FileName: = strNewName 'для презентаций Powerpoint *' Удалить старый файл: с помощью New FileSystemObject '(для этой строки требуется: Tools-> References-> среда выполнения сценариев Microsoft) Если .FileExists (strFileFullName) Тогда .DeleteFile strFileFullName End If End WithEnd  Sub  

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

Улучшите этот ответ
отредактировано 10 июля ’14, в 19:11
ответил 10 июля ’14 в 17:56
добавить комментарий |

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

  Sub RenameActiveFile () '' Переименовывает текущий файл, не закрывая документ (при условии, что файл уже был сохранен) '(  Фактически, сохраняется с новым именем и удаляется предыдущее, поэтому история будет потеряна).  'Dim strFileFullName, strFileName, strNewName As String Dim res As VbMsgBoxResult' Получить текущее имя: strFileFullName = ActiveDocument.FullName 'для документов Word' strFileFullName = ActiveWorkbook.FullName 'для Excelresentation.  Если (InStr (strFileFullName, ".") = 0) Then res = MsgBox ("Файл не был сохранен. Невозможно переименовать его.",, "Rename File") Exit Sub End If strFileName = Right (strFileFullName, Len  (strFileFullName) - InStrRev (strFileFullName, "")) 'удалить путь strFileName = Left (strFileName, (InStr (strFileName, ".") - 1))' strip extension 'Запрос нового имени: strNewName = InputBox ("Rename  этот файл в: "," Rename File ", strFileName) If (strNewName =" ") Or (strNewName = strFileName) Then '(Проверить, отменен ли пользователь) Exit Sub End If' Сохранить файл с новым именем: ActiveDocument.SaveAs2 FileName:  = strNewName 'для документов Word' ActiveWorkbook.SaveAs2 FileName: = strNewName 'для документов Excel' Application.ActivePrese  ntation.SaveAs FileName: = strNewName 'для презентаций Powerpoint *' Удалить старый файл: с помощью New FileSystemObject '(для этой строки требуется: Tools-> References-> среда выполнения сценариев Microsoft) Если .FileExists (strFileFullName) Тогда .DeleteFile strFileFullName End If End WithEnd  Sub  

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


0

Microsoft добавила революционные новые функции в последней версии Word, предназначенной для тех, кто вас беспокоит —

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

Улучшите этот ответ
ответил 12 декабря ’12 в 4:12
  • 3
    Я сомневаюсь, что это именно то, что искала OP. Сохранить как не переименовывает файл, а просто сохраняет новую копию под другим именем. — Николь Гамильтон, 12 дек. ’12 в 16:49
  • 6
    @Scandalist: что за сарказм? Я думал, что мой вопрос был вполне законным. Я не говорю, что это шоу-стоп, я просто говорю, что, как и все маленькие утомительные задачи, это требует времени и силы ума. Все офисные пакеты делают вашу работу более продуктивной, поэтому с точки зрения пользователя я не понимаю, почему это не было реализовано. — RoboShop, 12 дек. ’12 в 9:39
  • @RoboShop, честно говоря, если реальная проблема заключается в производительности, вы можете довольно легко написать макрос и добавить его на панель инструментов, которая запрашивает новое имя файла, сохраняет и закрывает активный документ, переименовывает документ и наконец открывает переименованный документ. Это позволяет решить поставленную задачу одним нажатием кнопки. — Адам 14 дек. ’12 в 13:22
  • это должно быть правильным ответом, если нужно переименовать файл при открытии. Просто сохраните как новое имя, а затем удалите старый файл — phuclv 13 ноя 2013 в 0:30
добавить комментарий |

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

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



Как переименовать несколько файлов, заменив слово в имени файла?

Заменить ACDC в AC-DC

Например, у нас есть эти файлы

ACDC — Rock N ‘Roll Ain’t Noise Pollution.xxx

ACDC — Rocker.xxx

ACDC — Shoot To Thrill.xxx

Я хочу, чтобы они стали:

AC-DC — Rock N ‘Roll Ain’t Noise Pollution.xxx

AC-DC — Rocker.xxx

AC-DC — Shoot To Thrill.xxx

Я знаю, что для этой операции используется sed или awk. Я ничего не могу найти в Google, поэтому прошу вашей помощи =) Не могли бы вы предоставить полную рабочую команду оболочки для этой задачи?

Отзыв: решение для пользователей OSX


  переименовать 's/ACDC/AC-DC/' * .xxx  

из man переименовать

  ОПИСАНИЕ «переименовать» переименовывает имена файлов, указанные в соответствии с правилом, указанным в качестве первого аргумента.  Аргумент perlexpr - это выражение Perl, которое, как ожидается, изменит строку $ _ в Perl, по крайней мере, для некоторых из указанных имен файлов.  Если данное имя файла не изменено выражением, оно не будет переименовано.  Если в командной строке не указаны имена файлов, имена файлов будут считываться через стандартный ввод.  

Например, чтобы переименовать все файлы, соответствующие «* .bak», чтобы удалить расширение, вы может сказать

  переименовать 's/. bak $//' * .bak  

Чтобы перевести имена из верхнего регистра в нижний, вы должны использовать

  переименовать 'y/AZ/az/' *  

14

Этот ответ содержит хорошие части из всех других ответов, но не учитывает такую ​​ересь, как ls | при чтении .

Текущий каталог:

  для файла в ACDC * .xxx;  do mv "$ file" "$ {file//ACDC/AC-DC}" done  

Включая подкаталоги:

   находить .  -тип f -name "ACDC *" -print0 |  при чтении -r -d '' файл;  do mv "$ file" "$ {file//ACDC/AC-DC}" done  

Символы новой строки действительно вряд ли будут в имена файлов, так что это может быть проще при работе с именами, содержащими пробелы:

  find.  -тип f -имя "ACDC *" |  при чтении -r файл;  do mv "$ file" "$ {file//ACDC/AC-DC}" готово  

Улучшите этот ответ
отредактировано 3 ноября 2014 г. в 17:37
ответил 30 января 2011 г. в 9:03
добавить комментарий |

Этот ответ содержит хорошие части из всех других ответов, но не учитывает такую ​​ересь, как ls | при чтении .

Текущий каталог:

  для файла в ACDC * .xxx;  do mv "$ file" "$ {file//ACDC/AC-DC}" done  

Включая подкаталоги:

   находить. -тип f -name "ACDC *" -print0 |  при чтении -r -d '' файл;  do mv "$ file" "$ {file//ACDC/AC-DC}" done  

Символы новой строки действительно вряд ли будут в имена файлов, так что это может быть проще при работе с именами, содержащими пробелы:

  find.  -тип f -имя "ACDC *" |  при чтении -r файл;  do mv "$ file" "$ {file//ACDC/AC-DC}" готово  

11

Чтобы использовать версию переименования для util-linux, о которой говорил Фил (в Ubuntu это называется rename.ul ):

  переименовать ACDC AC-DC ACDC *  

или

  rename.ul ACDC AC-DC ACDC *  

Улучшите этот ответ
ответил 30 января ’11 в 11:14
  • 2
    ваш вариант лучший =) так много дурацких статей в гугле о поиске и отправке и awk … об этой простой операции, для которой переименовывать утилиты egxist уже существует! — Holms 30 янв. ’11 в 15:23
добавить комментарий |

Чтобы использовать версию переименовать для утилиты util-linux, на которую ссылался Фил (в Ubuntu это называется rename.ul ):

  переименовать ACDC AC-DC ACDC *  

или

rename.ul ACDC AC-DC ACDC *  

4

Использование оболочки bash

  find.  -тип f -name "ACDC *" -print0 |  при чтении -d $ ' 0' fdo new = `echo" $ f "|  sed -e "s/ACDC/AC-DC/" `mv" $ f "" $ new "done  

Примечание: использование find будет обрабатывать текущий каталог и каталоги под ним.

Улучшить этот ответ
ответил 30 января ’11 в 8:24
добавить комментарий |

Использование оболочки bash

  find.  -тип f -name "ACDC *" -print0 |  при чтении -d $ ' 0' fdo new = `echo" $ f "|  sed -e "s/ACDC/AC-DC/" `mv" $ f "" $ new "done  

Примечание: использование find будет обрабатывать текущий каталог, а каталоги в.


1

Зависит от вашей оболочки. В zsh я бы сделал следующее:

  для файла в ACDC * .xxx;  do mv "$ file" "$ (echo $ file | sed -e 's/ACDC/AC-DC/')" done  

Вероятно, не лучшее решение, но работает .

Улучшите это ответ
Создан 30 янв. в 11:09
добавить комментарий |

Зависит от вашей оболочки. В zsh я бы сделал следующее:

  для файла в ACDC * .xxx;  do mv "$ file" "$ (echo $ file | sed -e 's/ACDC/AC-DC/')" done  

Вероятно, не лучшее решение, но работает .


1

Использование bash:

  ls * .xxx |  пока читал fn;  do mv "$ {fn}" "$ {fn/ACDC/AC-DC}"; done  

Если у вас есть программа rename установлено:

  переименовать 's/ACDC/AC-DC/' * .xxx  

Улучшить этот ответ
ответил 30 января ’11 в 8:16
добавить комментарий |

Использование bash:

  ls * .xxx |  пока читал fn;  do mv "$ {fn}" "$ {fn/ACDC/AC-DC}"; done  

Если у вас есть программа rename установлено:

  переименовать 's/ACDC/AC-DC/' * .xxx  

Оцените статью
logicle.ru
Добавить комментарий