Usando macro do Word para inserir parte do nome do arquivo no cabeçalho?

0

Eu preciso inserir algumas partes do nome do arquivo do Word em seu cabeçalho. Por exemplo, temos documentos do Word com nomes de arquivos como

'01 00 50 Instructions to Bidders.docx' 

e gostaria de analisar '01 00 50 'e colocá-lo em parte do cabeçalho e' Instruções para os Licitantes 'em outro. Eu encontrei algumas macros VB que analisam que inserir o nome do arquivo e analisá-lo, por exemplo,

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

mas a macro acima insere texto na localização do cursor. Eu preciso dividi-lo e localizá-lo em partes específicas do cabeçalho como este

Smith Building Renovation                                    01 00 50
42 Main St.               Instruction to Bidders          Page 1 of 5
Augusta, ME                                               23-Feb-2014

Quebrar o nome do arquivo no VB fica claro para mim, mas como você localiza texto analisado em partes específicas de um documento?

    
por buttonsrtoys 31.05.2014 / 15:25

1 resposta

0

Se o início dos seus nomes de arquivos sempre tiver o mesmo formato; Ou seja, NN NN NN Filename.docx , então isso deve funcionar;

Private Sub Document_Open()

Dim j As Long
Dim str As String
str = ActiveDocument.Name
Dim strRight As String
Dim strLeft As String


strRight = right(str, Len(str) - 9)
strLeft = left(str, 9)

For j = 1 To ActiveDocument.Sections.Count
    With ActiveDocument.Sections(j)
        .Headers(wdHeaderFooterPrimary).Range.Text = strRight + " middle " + strLeft

    End With
Next
End Sub

EDIT: Desculpe, a edição inclui a possibilidade de usar ambas as partes do nome do arquivo. Pouco confuso, mas vai fazer o trabalho.

    
por 31.05.2014 / 15:39