É possível atribuir um estilo específico a todas as referências cruzadas no Word 2007?

26

Nada mais a acrescentar, gostaria de alterar o estilo de todas as referências cruzadas que possuo num documento do Word 2007 de uma só vez. Mas não tenho ideia de como fazer isso. Como isso pode ser feito?

    
por Drake 27.07.2009 / 09:42

5 respostas

35

Alguns tipos de referências cruzadas são formatados automaticamente com o estilo "referência intensa", mas a maioria é formatada como texto "normal".

Para aplicar o estilo de "referência intensa" ao texto da referência cruzada:

  • selecione o texto
  • escolha a guia "Página inicial" na faixa de opções
  • usando os botões para cima ou para baixo no grupo "Estilos" da faixa de opções, escolha o estilo "referência intensa" (ou outro estilo, se preferir)

Para alterar a aparência de todo o texto de um determinado estilo:

  • escolha a guia "Página inicial" na faixa de opções
  • usando o botão suspenso no grupo "Estilos" da faixa de opções, escolha "Aplicar estilos ..."
  • na caixa de diálogo "Aplicar estilos" em "Nome do estilo", escolha o nome do estilo que você deseja alterar (por exemplo, "referência intensa")
  • Clique no botão "Modificar ..."
  • Altere a formatação para se adequar a você e clique em "OK"

Para aplicar um estilo a todas as referências cruzadas de uma só vez:

  • Pressione Alt + F9 para mostrar os códigos de campo
  • Selecione a guia "Página inicial" na faixa de opções
  • Clique em "Substituir" no grupo "Edição"
  • No campo "Localizar", digite ^19 REF
    • (Isso é um caret-um-nove-espaço-R-E-F)
  • Clique no campo "Substituir por", mas não digite nada
  • Clique no botão "Mais"
  • A seção inferior da caixa de diálogo deve ser intitulada "Substituir" (com uma regra horizontal após ela)
  • Clique no botão "Formatar" e selecione "Estilo ..."
  • Escolha um estilo (por exemplo, "Referência intensa") e clique em OK
  • Agora deve mostrar o estilo que você selecionou no campo "Substituir por"
  • Clique em "Substituir tudo" se estiver se sentindo corajoso ou use "Localizar próximo" e "Substituir" para percorrer e substituir ou ignorar cada estilo de código de campo de referência individualmente
  • Pressione Alt + F9 para ocultar os códigos de campo

Consulte esta página para obter mais informações sobre códigos especiais em Localizar e substituir .

Aqui está uma macro que adicionará a opção \* mergeformat a cada um dos campos. Essa opção é necessária para evitar que a formatação seja perdida se você fizer uma atualização de campo. Você pode atribuir a macro a um pressionamento de tecla e percorrerá os campos um de cada vez para cada vez que pressionar o pressionamento de tecla. Você também pode editar a macro para percorrer todo o documento para automatizar o processo.

Sub mf()
'
' mf Macro
' Find cross references and add \* mergeformat
'
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "^19 REF"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.MoveLeft Unit:=wdCharacter, Count:=1
    Selection.TypeText Text:="\* mergeformat "
    Selection.Find.Execute
End Sub
    
por 27.07.2009 / 13:58
4
  • Pressione Alt + F9 para mostrar os códigos de campo
  • Use a macro a seguir para adicionar CHARFORMAT a todas as referências cruzadas. Esta macro adiciona a string ao campo somente se ainda não estiver lá.

    Sub SetCHARFORMAT()
    '
    ' Set CHARFORMAT switch to all {REF} fields. Replace MERGEFORMAT.
    '
    '
        Dim oField As Field
        Dim oRng As Range
        For Each oField In ActiveDocument.Fields
        'For Each oField In Selection.Fields
            If InStr(1, oField.Code, "REF ") = 2 Then
                If InStr(1, oField.Code, "MERGEFORMAT") <> 0 Then
                    oField.Code.Text = Replace(oField.Code.Text, "MERGEFORMAT", "CHARFORMAT")
                End If
                If InStr(1, oField.Code, "CHARFORMAT") = 0 Then
                    oField.Code.Text = oField.Code.Text + "\* CHARFORMAT "
                End If
            End If
        Next oField
    
    
    End Sub
    
  • Use essa macro para formatar todas as referências cruzadas com o estilo "Referência sutil" (verifique se você tem esse estilo e se os códigos de campo são mostrados):

    Sub SetCrossRefStyle()
    '
    ' Macro to set styole of all cross references to "Subtle Reference"
    '
    '
        Selection.Find.ClearFormatting
        Selection.Find.Replacement.ClearFormatting
        Selection.Find.Replacement.Style = ActiveDocument.Styles( _
            "Subtle Reference")
        With Selection.Find
            .Text = "^19 REF"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchKashida = False
            .MatchDiacritics = False
            .MatchAlefHamza = False
            .MatchControl = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute Replace:=wdReplaceAll
    End Sub
    
  • Pressione Alt + F9 para ocultar os códigos de campo

por 05.02.2012 / 11:43
2

editando a macro carregada pelo cyborg, podemos facilmente automatizar a exibição e a ocultação dos códigos de campo. para que, sempre que desejamos atualizar, não tenhamos que usar os códigos de campo de alternância. Eu usei o seguinte código para adicionar o código de campo.

ActiveDocument.ActiveWindow.View.ShowFieldCodes = False

A macro completa é a seguinte:

Sub SetCrossRefStyle()
'
' Macro to set styole of all cross references to "Subtle Reference"
'
'
ActiveDocument.ActiveWindow.View.ShowFieldCodes = True
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles( _
    "Subtle Reference")
With Selection.Find
    .Text = "^19 REF"
    .Replacement.Text = ""
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchKashida = False
    .MatchDiacritics = False
    .MatchAlefHamza = False
    .MatchControl = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
ActiveDocument.ActiveWindow.View.ShowFieldCodes = False
End Sub

Esta é a primeira vez que estou usando macros para acelerar o meu trabalho em palavras. obrigado cyborg por essa macro útil.

    
por 21.09.2017 / 13:51
0

Forma rápida e eficaz:

  1. Selecione algum texto com a formatação que você deseja usar para as referências.
  2. Selecione a guia Página inicial na faixa de opções.
  3. Clique com o botão direito do mouse no estilo Normal e escolha Atualizar normal para corresponder à seleção .
  4. Atualize as referências com Ctrl + A , F9 .
por 08.02.2013 / 15:50
0

Esta macro abre a caixa de diálogo Referência cruzada para inserir uma referência cruzada na posição atual do cursor.

Quando você fecha a caixa de diálogo Xref após inserir a referência, a macro é retomada para formatar a referência cruzada inserida em sobrescrito.

Sub XrefSuper()
'
' This opens the Cross Reference dialogue box to insert a cross reference at the current cursor position.
'   When the dialogue box is closed after inserting the reference the macro resumes to format the inserted cross reference to superscript.
'
'
Dim wc As Integer
    wc = ActiveDocument.Characters.Count

Dim dlg As Dialog
    Set dlg = Dialogs(wdDialogInsertCrossReference)
        dlg.Show 'Open dialogue and perform the insertion from the dialog box) 
                 'Macro continues after closing CrossRef dialogue box

    If wc = ActiveDocument.Characters.Count Then Exit Sub   'If we failed to insert something then exit

    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    Selection.Font.Superscript = wdToggle
    Selection.MoveRight Unit:=wdCharacter, Count:=1
    Selection.Font.Superscript = wdToggle
End Sub

Agradecemos a Graham Skan da ExpertsExchange por como abrir o diálogo Xref.

    
por 19.01.2018 / 13:42