Добавить поле имени файла без расширения .doc в заголовок документа - PullRequest
6 голосов
/ 13 октября 2010

Работая в Office 2007, я хотел бы добавить поле имени файла в заголовок моего документа.Позже документ будет в формате PDF, поэтому мне не нужно расширение.

Я играл с «Вставить» - «QuickParts -> Поле», но безрезультатно.У меня есть ощущение, что для этого нужна формула ...

Заранее спасибо, если вы можете помочь.

Ответы [ 6 ]

7 голосов
/ 13 октября 2010

Ваше чувство совершенно верно.

Insert > QuickParts > Field > FileName - это путь, но, как вы видите на скриншоте ниже, у вас нет возможности включить или выключить расширение файла. alt text Чтобы показать или не показывать (в стиле Шекспира), расширение полностью соответствует настройкам Windows Explorer, чтобы показать или скрыть известные расширения файлов. Итак, либо вы измените эту настройку, либо вам нужен код.

Очень простым макросом было бы следующее:

Sub InsertCurrentFileName()
    Selection.InsertBefore Text:=Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)
End Sub

Он просто удаляет последние 4 символа строки имени файла, например ".doc" - если вы сохраните ".docx" то "." будет сохранен Также этот макрос будет запускаться один раз, и вам нужно будет запустить его снова, когда имя файла изменится.

Может быть, вы могли бы еще кое-что объяснить, чего хотите добиться, указав имя файла в заголовке документа? Вы пытаетесь использовать имя файла в заголовке документа, чтобы установить некоторые свойства PDF во время преобразования? Почему бы не использовать название документа? Вам нужно оригинальное имя файла в PDF позже - почему?

Еще две страницы, которые помогут вам решить вашу проблему (обе зависят от макросов ...):

6 голосов
/ 02 марта 2014

добавить [Название] Вместо имя файла и, возможно, добавить некоторые другие Свойства документа В списке

2 голосов
/ 27 мая 2016

Создать макрос что-то вроде:

Dim f As String
f = Dir(ActiveDocument.FullName)
intPos = InStr(1, f, ".")
If intPos > 0 Then
    f = Left(f, intPos - 1)
End If
doc.Variables("BaseFileName").Value = f

Вставить поле как:

Insert DocVariable Field

Готово.

1 голос
/ 16 мая 2016

Действительно, для поля FileName нет опции «только базовое имя».

Долгосрочный: запрос на добавление

В течение длительного времени я отправил запрос в Microsoft по адресу: https://office365.uservoice.com/forums/264636-general/suggestions/13860672-for-word-create-a-basename-only-field-option-for

Я приглашаю вас и других, посещающих этот пост, проголосовать за это предложение.

Краткосрочные обходные пути

Макрос (код VBA)

Написание макроса, как предположил @DennisG, является, пожалуй, наиболее удобной для работы.

Собственная собственность

Но вы можете не связывать макрос с вашим документом Word, чтобы избежать проблем с безопасностью (например, если вы распространяете документ). Поэтому еще один обходной путь - создать собственное свойство FileBaseName с жестко закодированным значением «MyDocumentBaseName»:

Создайте пользовательское свойство FileBaseName и присвойте ему свое значение:

  • Откройте пустой документ в MS Word.
  • Сохраните его как «MyTempReport.docx».
  • В меню MS Word с MyTempReport.docx откройте> Файл [вкладка]> Информация> Свойства: щелкните> Дополнительные свойства ...> Пользовательские [вкладка] ...
  • Введите «Имя»: «FileBaseName»; «Значение»: «MyTempReport».

Вставьте пользовательское свойство документа, FileBaseName, в ваш документ:

  • Меню MS Word> Вставить [вкладка]> Текст [группа]> Быстрые детали> Поле ...
  • В поле «Имена полей» выберите «DocProperty».
  • В «Свойствах поля»> «Свойство»: выберите «FileBaseName»> OK.

Теперь в вашем поле должен быть вставлен «MyTempReport».

Ограничения:

  • Если вы переименуете свой файл, не будет отражаться в вашем поле FileBaseName. Вместо этого вам придется вручную изменить свойство FileBaseName из Расширенные свойства ... (как указано выше).
  • Вам нужно будет создать это пользовательское свойство в каждом конкретном документе, в котором вы хотите его получить.
0 голосов
/ 09 июля 2019

Просто скрыть расширения имени файла в проводнике Windows.После этого снова откройте документ.Тогда экспортируйте это.Имя не будет иметь расширения.:)

0 голосов
/ 26 мая 2016

Вставьте поле имени файла, как показано на рисунке выше, и сохраните как имя файла. Просмотреть в режиме предварительного просмотра и вернуться в режим редактирования: теперь вместо имени документа должно отображаться имя файла n

Если у вас есть имя файла, вы можете форматировать разные части разными цветами: измените цвет .extension на цвет фона документа (вероятно, белый).

Я сделал это в нижнем колонтитуле, чтобы в pdf-версии не отображалось «.docx».

...