Não há nenhuma opção para tornar campos de mesclagem em branco no Word. Existe apenas Alt + F9 , mas isso ainda deixa você com «Fieldname»
ao invés de espaços em branco.
Então você precisa fazer isso com uma macro. Você pode usar a macro abaixo. Se você não salvar o documento após a execução, poderá reverter para o arquivo salvo (com campos de mesclagem) após a impressão. Claro que você também pode alterar essa macro para criar um arquivo de cópia, executar este código, imprimir e fechar a cópia (tudo com uma macro). Você pode alterar o ______
para um espaço se desejar espaços em branco reais em vez de caracteres sublinhados no local para preencher o formulário manualmente.
Sub Demo()
Dim oFld As Field
For Each oFld In ActiveDocument.Fields
With oFld
If .Type = wdFieldMergeField Then
.Code.Text = "QUOTE " & Chr(34) & "______" & Chr(34)
.Update
.Unlink
End If
End With
Next
End Sub
Editar:
Como você solicitou aqui um exemplo em que o arquivo original é salvo pela primeira vez, "adicionado" a um novo documento, campos de mesclagem excluídos, documento impresso e fechado novamente. (tudo de uma vez, com alguns comentários)
Se você tiver certeza de que o documento não foi alterado, pule a .Save
-line. Mas se você fizer alterações sem salvar, sua cópia impressa será do arquivo salvo, não do seu arquivo atual.
Já faz um tempo desde que eu codifiquei em VBA, mas acho que está funcionando;)
Sub PrintCopyWithoutMergeFields()
Dim oFld As Field
' save the original, needs to be done to add it as copy
ActiveDocument.Save
' copy the original to a new document
Application.Documents.Add ActiveDocument.FullName
' loop through all the fields and delete mergefields
For Each oFld In ActiveDocument.Fields
With oFld
If .Type = wdFieldMergeField Then
.Code.Text = "QUOTE " & Chr(34) & "______" & Chr(34)
.Update
.Unlink
End If
End With
Next
' print the copy with the print-dialog
Dialogs(wdDialogFilePrint).Show
' if you don't want the print-dialog, use this for the default printer
' Application.PrintOut
' close the copy without asking to save
ActiveDocument.Close False
End Sub