Добавьте поле filename без.расширением doc в заголовке документа
работая в Office 2007, я хотел бы добавить поле имени файла в заголовок документа. Документ позже будет PDF, поэтому я не хочу расширения.
Я играл с Insert - > QuickParts - > поле, безрезультатно. У меня такое чувство, что для этого нужна формула...
заранее спасибо, если вы можете помочь.
5 ответов
ваше чувство совершенно правильно.
Insert > QuickParts > Field > FileName
это путь, но, как вы видите на скриншоте ниже, у вас нет возможности включить или выключить расширение файла.
Чтобы показать или не показать (шекспировский стиль) расширение чисто до настройки Проводника Windows, чтобы показать или скрыть известные расширения файлов. Итак, либо вы измените эту настройку, либо вам нужен код.
очень простой макрос будет следующим:
Sub InsertCurrentFileName()
Selection.InsertBefore Text:=Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4)
End Sub
что это does просто удаляет последние 4 символа "строки имени файла", например ".doc "- if you safe a".docx "the"."будут сохранены. Также этот макрос будет работать один раз, и вам нужно будет запустить его снова, когда имя файла изменится.
может быть, вы могли бы объяснить, что вы хотите достичь с именем файла в заголовке документа? Вы пытаетесь использовать имя файла в заголовке документа для установки некоторого свойства PDF во время преобразования? Почему бы не использовать заголовок документа? Вам нужно исходное имя файла в PDF позже - почему?
еще две страницы, чтобы помочь вам с вашей проблемой (оба полагаются на макросы...):
добавить [Title] вместо имя файла и, может быть, добавить некоторые из других Свойства Документа перечислил
создать макрос что-то вроде:
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
вставить поле типа:
сделано.
действительно, для поля 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 открыть > файл [вкладка] > информация > свойства: нажмите > Дополнительные свойства ... > Пользовательский [tab]...
- введите "Name": "FileBaseName"; "Value": "MyTempReport".
вставьте свойство пользовательского документа,FileBaseName
в своем документе:
- меню MS Word > вставить [вкладка] > текст [группа] > быстрые детали > поле ...
- из "имена полей" выберите "DocProperty".
- из поля "свойства" > "свойства": выбрать "FileBaseName" > "ОК".
вы теперь должны иметь "MyTempReport" вставить как поле в документе.
ограничения:
- если вы переименуете файл это не отразиться в вашем
вставьте поле Имя файла, как показано на диаграмме выше, и сохраните его как имя файла. Просмотр в режиме предварительного просмотра и возврат в режим редактирования: имя файла теперь должно отображаться вместо Documentn
Как только у вас есть имя файла, вы можете форматировать разные части с разными цветами: поэтому измените цвет .расширение до цвета фона документа (возможно, белого).
Я сделал это в нижнем колонтитуле, чтобы версия pdf не отображалась".файлы DOCX'.