DOCM

Che cos’è un file DOCM?

Un documento Word con le macro. Passarlo a PDF di solito è proprio l’obiettivo: le macro non viaggiano.

Che cos’è DOCM

DOCM è un contenitore: un involucro per flussi codificati da qualcos’altro. Si usa per la modifica.

L’estensione è .docm e il nome per esteso è Word Macro-Enabled Document. Contano entrambi meno di ciò che il file può contenere, ed è di questo che parla il resto della pagina.

Da dove viene DOCM

Microsoft lo ha pubblicato nel 2007. La specifica è ECMA-376.

L’età serve saperla per un motivo pratico: più un formato è vecchio, più programmi hanno avuto tempo di impararlo.

La specifica è pubblica

È pubblicata per intero, quindi la si può implementare partendo dal documento invece che per osservazione: è per questo che il formato compare in così tanti programmi, ed è per questo che file scritti vent’anni fa si aprono ancora. Una specifica pubblicata però non è la stessa cosa di una esente da royalty: dove un formato incapsula un codec, le licenze sui brevetti restano una questione a parte che lo standard non risolve.

Può contenere più pagine in un solo file

Un file DOCM non è limitato a una pagina, e la cosa conta quando lo si converte in qualcosa che invece lo è: una conversione produce un solo file con dentro una sola pagina — la prima, a meno che non sia una di quelle che il convertitore ti lascia scegliere.

Può contenere macro

DOCM può portare codice eseguibile, e di solito è proprio questo il motivo per cui qualcuno incontra questa estensione: un server di posta o un portale documentale l’ha respinta. Convertire in un formato senza macro è la via d’uscita abituale — e sì, le macro dopo non ci sono più.

Che tipo di documento è

DOCM contiene un documento di testo: paragrafi che si riadattano alla pagina su cui finiscono.

È questo a decidere come si converte: il testo si riadatta, quindi i numeri di pagina sono una proprietà del risultato e non del file.

Che cosa apre DOCM

Microsoft Word lo legge, e lo stesso vale per quasi tutti i programmi dello stesso tipo.

Quando un file non si apre, il formato è raramente il problema: più spesso è il programma a essere più vecchio di lui. Convertire in qualcosa di più vecchio è la via d’uscita affidabile, ed è a questo che serve il resto di questo sito.

Aprirlo nel browser

Nessun browser lo legge.

È di gran lunga il motivo più comune per convertirlo: non che il formato sia scadente, ma che il posto in cui vuoi mostrare il file non sappia leggerlo.

È un formato di lavoro

DOCM è pensato per essere aperto e modificato. Tieni il file in questo formato per tutto il tempo in cui il lavoro va avanti, ed esporta da lì ogni volta che serve una copia finita.

È un DOCX che può anche contenere codice

DOCM e DOCX sono lo stesso formato, un pacchetto ZIP di XML con il testo, gli stili e le immagini dentro, e si differenziano per una sola cosa: un DOCM può portare un progetto VBA e un DOCX no. L’estensione diversa esiste apposta perché la differenza si veda prima di aprire il file.

La differenza rispetto ai fogli di calcolo sta nella frequenza con cui è giustificata. Una cartella Excel con macro è automazione d’ufficio perfettamente normale; un documento con macro è molto più raro. I modelli che compilano campi, generano una lettera o impongono uno stile aziendale sono il caso legittimo, e sono una piccola frazione dei DOCM che circolano.

Quasi tutti ne incontrano uno in un’email

Va detto senza giri di parole. Per quasi un decennio, i documenti Word con macro sono stati il veicolo più efficace mai esistito per distribuire software dannoso: una fattura, un documento di trasporto, un curriculum, un file che dice di dover attivare le macro per essere visualizzato correttamente.

Quest’ultima frase è il segnale. Un documento vero non ha bisogno di macro per essere letto, perché il testo sta nell’XML e Word lo mostra indipendentemente dall’esecuzione di codice. Un file che afferma il contrario sta descrivendo ciò che vuole che facciate, non come funzionano davvero i documenti.

Ciò che Microsoft ha cambiato nel 2022

Office ha smesso di offrire il pulsante di attivazione e ha iniziato a bloccare direttamente le macro nei documenti che provengono da internet o da un’email. Windows contrassegna quei file con un indicatore di provenienza e Word rifiuta il codice con una banda rossa e un link che spiega perché.

L’effetto è stato misurabile, e lo è stata anche la reazione: chi distribuiva quei file si è spostato su altri tipi. Per un documento legittimo la soluzione è sbloccarlo nelle sue proprietà o salvarlo in una cartella configurata come posizione attendibile. Entrambe le azioni sono deliberate, compiute da qualcuno che sa da dove viene il file, ed è esattamente l’intento.

Gli usi legittimi sono quasi sempre modelli

Modelli aziendali che inseriscono la carta intestata, compilano campi da un database, impongono la numerazione o generano un documento a partire da un modulo. Studi legali e commercialisti hanno investito profondamente in questo e funziona bene per loro.

Notate che un modello è di solito DOTM e non DOCM, perché la sua funzione è servire da punto di partenza per documenti nuovi e non circolare esso stesso. Un documento finito che carica macro è un oggetto piuttosto strano, e chiedersi perché le porti è una domanda ragionevole, non un eccesso di diffidenza.

Guardare dentro senza eseguire nulla

Rinominatelo in .zip e apritelo con qualsiasi gestore di archivi compressi. Il testo e la formattazione sono XML leggibile, quindi potete vedere cosa dice il documento senza che Word esegua una sola istruzione. Il progetto VBA è un flusso binario e lì non si legge, il che è già informativo: un documento il cui blocco di macro è grande sta facendo qualcosa di sostanziale.

Per leggere il codice stesso, l’editor VBA di Word o di LibreOffice lo apre senza eseguirlo. Per un file sconosciuto da un mittente sconosciuto, il consiglio onesto è più semplice: non apritelo e chiedete al mittente a cosa serve.

Togliere le macro significa salvare come DOCX

Salvando come DOCX si scarta il progetto VBA e si conservano testo, stili, immagini, tabelle, intestazioni, piè di pagina e tutto il resto. Word avvisa prima di farlo, e quell’avviso è l’intera operazione. Per un documento che vi hanno mandato e dovete solo leggere, è la mossa corretta e costa un secondo.

Convertirlo in PDF va oltre ed è la risposta migliore per qualunque cosa definitiva: un PDF non esegue codice in alcun modo, fissa l’impaginazione ed è spesso ciò che il destinatario avrebbe preferito ricevere fin dall’inizio. Se dovete inviare un documento che vive per caso in un modello con macro, esportare un PDF è più sicuro e più rispettoso che passare avanti il DOCM.

Dove va il file quando lo convertite in PDF

Quel PDF lo produce LibreOffice, che non entra in un browser, quindi questa è una delle conversioni in cui il file viene effettivamente inviato. Va su api.quinvert.com, viene salvato in una cartella temporanea appena creata sotto il nome input.docm, così il vostro nome di file non arriva mai sul disco, e quella cartella viene cancellata alla fine, compresi tutti i percorsi di errore. Il contenitore che lo elabora non ha accesso a internet.

Il limite su questa via è di 25 MB per file, contro i 100 MB delle conversioni che girano nel vostro browser, e c’è un tetto di 100 conversioni server al giorno che si azzera a mezzanotte UTC. L’impaginazione si conserva se il documento usa Arial, Times New Roman, Courier New, Calibri, Cambria o font incorporati; il contenitore porta Liberation, Carlito, Caladea, DejaVu e Noto, e qualunque altro carattere viene sostituito in silenzio con conseguente ricomposizione del testo.

Il tempo totale di modifica che nessuno ricorda esistere

DOCM è uno dei sei formati OOXML da cui lo strumento di rimozione metadati di questo sito sa togliere le proprietà, e lì compare un dato che sorprende quasi tutti: app.xml conserva il tempo totale di modifica, un conteggio cumulativo dei minuti in cui il documento è stato aperto nel corso di tutta la sua vita. Accanto ci sono l’autore, chi lo ha modificato l’ultima volta, le date e la miniatura incorporata.

Questa pulizia non ricodifica il documento: testo, stili e immagini vengono copiati intatti nel nuovo pacchetto. Le parti docProps/core.xml, app.xml e custom.xml vengono sostituite con parti vuote della forma corretta invece di essere cancellate, così che [Content_Types].xml e _rels/.rels non finiscano per puntare a file inesistenti, e la miniatura viene rimossa insieme alla sua relazione. Il tutto avviene interamente nel vostro browser, e il file non lascia il computer.

Se siete voi a dover inviarne uno

Chiedetevi se il destinatario ha davvero bisogno dell’automazione. Se serve solo il contenuto, mandate un DOCX o un PDF e la questione sparisce; inoltre il suo gateway di posta avrà molto meno motivo di mettere in quarantena il messaggio, cosa che molti fanno già con gli allegati che contengono macro.

Se l’automazione è proprio l’obiettivo, fatelo arrivare tramite un canale dove il file non risulti contrassegnato come proveniente da internet: un’unità condivisa, una libreria documentale interna, un pacchetto distribuito dal reparto IT. Inviare un DOCM per email e poi spiegare al destinatario come sbloccarlo significa insegnargli proprio l’abitudine che il cambiamento del 2022 voleva interrompere.

I dati, in un posto solo

Identificativi e provenienza del formato DOCM.
Estensione.docm
Tipo di mediaapplication/vnd.ms-word.document.macroEnabled.12
Pubblicato daMicrosoft
Prima pubblicazione2007
SpecificaECMA-376