Чи існує код поля Word для шляху до папки?


4

У MS Word можна вставити код поля, щоб показати ім'я файлу документа з можливістю включити повний шлях чи не.

Мені потрібно лише вставити шлях до папки, крім імені файлу.

Макроси - це не варіант.

Чи можна це зробити?

Чи є альтернативний код поля?

Чи є якийсь магічний незадокументований перемикач на коді поля FILENAME? (Microsoft раніше це знало!)


Я відредагував свою відповідь, щоб додати можливе рішення ... макроси не є варіантом у вихідному файлі чи взагалі? Я думаю , ви повинні використовувати макрос де - то , але моє рішення буде означати , що файл , який отримує збережений макрос безкоштовний в той час як людина створює документ має макрокоманду, що прийнятне рішення?
Мокубай

1
Макроси не дозволені - корпоративна політика
Шевек

Я провів деякий час, розглядаючи, що можна зробити з польовими кодами в Word, і немає нічого подібного до багатофункціональності, щоб навіть думати про це без використання макросу або іншої інтелектуальної мови програмування. З того, що я зробив Google, я не можу знайти жодних комутаторів чи способів зробити це, не макрос. Зважаючи на деякий час, я, мабуть, міг написати трохи Python-коду, який пройшов каталог, наповнений файлами, і поставив правильний шлях у нижній колонтитул, але він ніколи не буде повністю автоматизований у Word. Якщо хтось знайде так, як мені буде цікаво ...
Мокубай

Корпоративна політика? Це дійсно повинно перешкоджати продуктивності!
marcusw

Відповіді:


3

Я все ще граю з цим, оскільки це здається досить розумною річчю, щоб очікувати, що зможе це зробити ... але поки що єдиний спосіб, який я знайшов, - це досить неприємний накруток вставки поля імені файлу з контуром і потім застосуйте білий колір шрифту до тексту (тобто саме ім'я файлу), і таким чином ви закінчите лише шлях і блок невидимого тексту після нього.

Проблема полягає в тому, що це може зіпсуватись із форматуванням і насправді дуже хитро.

- = EDIT = -

Трохи менш дивовижне рішення ...

Якщо ви не заперечуєте, щоб у вашому документі макрос був макросом і прихованою змінною у вашому документі, ви, можливо, зможете використовувати цей макрос і встановити кнопку швидкого доступу, щоб запустити його ... Я спробував і він працює на макродокументовому документі, тому сам документ не потребує макросів для використання цього методу, я б помістив це у свій шаблон normal.dotm ...

Sub updatePath()
'
' updatePath Macro
'
'
Dim myPath As String
myPath = ActiveDocument.Path
If myPath = "" Then
    'do nothing as the document has no path... needs to be saved first
Else
    If ActiveDocument.Variables.Count = 0 Then
        ActiveDocument.Variables.Add Name:="myPath", Value:=myPath
    Else
        i = 1
        Do While i < (ActiveDocument.Variables.Count + 1)
            If ActiveDocument.Variables.Item(i).Name = "myPath" Then
                ActiveDocument.Variables.Item(i).Value = myPath
            End If
            i = i + 1
        Loop
    End If
End If

End Sub

А потім просто додайте код поля

DOCVARIABLE myPath

який, коли оновиться після запуску макросу вище, зробив би саме те, що ви хотіли. Зазначено, що це два або три кліки, а не просто оновлення, але це означає, що ваш експортований документ отримує належний тип поля, і лише люди з цим макросом можуть сказати, де слід зберігати документ :)


1
Мені подобається мислення, але погодьтеся, це химерно!
Шевек

3

На жаль, немає можливості зробити це з полем FILENAME без макросу, поле FILENAME не пропонує опцію пропускати ім’я файлу.

У будь-якому випадку, тут є макрос, щоб вставити шлях до файлу без імені файлу для тих, кому це може знадобитися.

Sub InsertPath ()
  Темний sPath як рядок

  sPath = ActiveDocument.Path
  Якщо sPath = "" Тоді
    MsgBox "Вам потрібно зберегти документ перед тим, як запустити цей макрос.", _
           vbOKТолько, "Документ не збережено"
  Інше
    sPath = sPath & Application.PathSeparator
    Selection.TypeText (sPath)
  EndIf
EndSub

1
Я дійсно не можу повірити, що для цього немає вбудованого коду поля, наприклад FILEPATH або навіть додаткового перемикання на FILENAME. Погано на MS
Shevek
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.