Unione a singoli file (Microsoft Word)
Quando si utilizza la funzionalità di stampa unione in Word, è possibile scegliere di stampare direttamente i risultati o creare un nuovo documento. Se scegli la seconda opzione, il documento risultante contiene tutte le informazioni che normalmente sarebbero andate alla stampante. Ad esempio, se il documento di unione è una lettera di due pagine, ogni lettera nel documento risultante è separata da un’interruzione di sezione. Pertanto, se unisci la lettera di due pagine con 150 indirizzi diversi, ti ritroverai con un documento di 300 pagine con 150 interruzioni di sezione (una ogni due pagine).
Per alcune persone, sarebbe più utile se potessi unire i singoli file. Ad esempio, dato l’esempio sopra, potresti volere 150 singoli file di documento, ciascuno lungo due pagine. Sfortunatamente, questa non è una delle opzioni disponibili quando si utilizza la funzionalità di stampa unione di Word. L’unica risposta per eseguire questa operazione è creare una macro che, in base al documento unito (quello di 300 pagine menzionato sopra), prenderà ogni sezione e la salverà nel proprio file di documento.
Se guardi nella Knowledge Base di Microsoft, scoprirai che c’è un vecchio articolo che tratta proprio questo problema:
http://support.microsoft.com/kb/216201
La macro presentata nell’articolo, anche se è stata scritta per Word 97, funzionerà perfettamente in Word 2007 e versioni successive. Ti permette di separare un documento unito in singoli file, in base alle interruzioni di sezione:
Sub BreakOnSection() 'Used to set criteria for moving through the document by section. Application.Browser.Target = wdBrowseSection 'A mailmerge document ends with a section break next page. 'Subtracting one from the section count stop error message. For i = 1 To ((ActiveDocument.Sections.Count) - 1) 'Select and copy the section text to the clipboard ActiveDocument.Bookmarks("\Section").Range.Copy 'Create a new document to paste text from clipboard. Documents.Add Selection.Paste 'Removes the break that is copied at the end of the section, if any. Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend Selection.Delete Unit:=wdCharacter, Count:=1 ChangeFileOpenDirectory "C:\" DocNum = DocNum + 1 ActiveDocument.SaveAs FileName:="test_" & DocNum & ".doc" ActiveDocument.Close 'Move the selection to the next section in the document Application.Browser.Next Next i ActiveDocument.Close savechanges:=wdDoNotSaveChanges End Sub
È importante rendersi conto, tuttavia, che questa macro funzionerà solo se l’unico punto in cui si verificano le interruzioni di sezione è tra i documenti uniti. Se il documento originale include interruzioni di sezione, la macro non fornirà risultati soddisfacenti. Per ulteriori informazioni sull’utilizzo della macro, fare riferimento all’articolo della Knowledge Base al collegamento fornito sopra.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti WordTips), ho preparato una pagina speciale che include informazioni utili.
WordTips è la tua fonte di formazione economica su Microsoft Word.
(Microsoft Word è il software di elaborazione testi più popolare al mondo.) Questo suggerimento (8435) si applica a Microsoft Word 2007, 2010 e 2013.
È possibile trovare una versione di questo suggerimento per la vecchia interfaccia di menu di Word qui: Merging to Individual Files.