Existe um código de campo do Word para o caminho da pasta?

4

No MS Word, você pode inserir um código de campo para mostrar o nome do arquivo do documento com a opção de incluir ou não o caminho completo.

O que eu quero é inserir apenas o caminho da pasta, excluindo o nome do arquivo.

As macros não são uma opção.

Isso pode ser feito?

Existe um código de campo alternativo?

Existe algum interruptor mágico não documentado no campo FILENAME? (Microsoft foram conhecidos para fazer isso antes!)

    
por Shevek 12.02.2010 / 15:19

2 respostas

3

Eu ainda estou brincando com isso, já que parece razoável o suficiente para ser capaz de fazer ... mas até agora a única maneira que eu encontrei é pela trapaça bastante desagradável de inserir um campo de nome de arquivo. com o caminho e, em seguida, aplicar uma cor de fonte branca ao texto (ou seja, o nome do arquivo em si) e assim você acaba com apenas o caminho e um bloco de texto invisível depois dele.

O problema é que isso pode atrapalhar a formatação e é muito ruim.

- = EDIT = -

Solução ligeiramente menos rápida ...

Se você não se importa em ter uma macro no seu normal.dotm e ter uma variável oculta no seu documento, então você pode usar essa macro e definir um botão no seu acesso rápido para executá-la ... Eu ' ve tentou e funciona em um documento livre de macro para o documento em si não precisa de macros para usar esse método, eu colocaria isso no meu modelo 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

E adicione um código de campo

DOCVARIABLE myPath

que, quando atualizado após a execução da macro acima, faria exatamente o que você queria. Concedido é dois ou três cliques em vez de apenas uma simples atualização, mas isso significa que o documento exportado recebe o tipo de campo adequado e somente as pessoas com essa macro podem dizer onde o documento deve ser armazenado: )

    
por 20.04.2010 / 10:54
3

Infelizmente, não há como fazer isso com o campo FILENAME sem uma macro, o campo FILENAME não oferece uma opção para omitir o nome do arquivo.

De qualquer forma, aqui está uma macro para inserir o caminho do arquivo, sem o nome do arquivo, para aqueles que podem precisar dele.

Sub InsertPath()
  Dim sPath As String

  sPath = ActiveDocument.Path
  If sPath = "" Then
    MsgBox "You need to save the document before running this macro.", _
           vbOKOnly, "Document not saved"
  Else
    sPath = sPath & Application.PathSeparator
    Selection.TypeText(sPath)
  EndIf
EndSub
    
por 20.04.2010 / 10:21