DOCM

Wat is een DOCM-bestand?

Een Word-document met macro’s. Naar PDF omzetten is meestal precies het doel: de macro’s gaan niet mee.

Wat DOCM is

DOCM is een container: een omhulsel voor stromen die door iets anders zijn gecodeerd. Het wordt gebruikt voor bewerken.

De extensie is .docm en de volledige naam Word Macro-Enabled Document. Allebei zeggen ze minder dan wat het bestand kan bevatten, en daar gaat de rest van deze pagina over.

Waar DOCM vandaan komt

Microsoft bracht het in 2007 uit. De specificatie is ECMA-376.

De leeftijd is om een praktische reden interessant: hoe ouder een formaat, hoe meer programma’s de tijd hebben gehad om het te leren.

De specificatie is openbaar

Ze is volledig gepubliceerd, dus wie het formaat wil uitvoeren kan dat uit het document doen in plaats van door te kijken hoe anderen het doen. Daarom duikt het in zo veel programma’s op, en daarom gaan bestanden van twintig jaar geleden nog steeds open. Openbaar is niet hetzelfde als royaltyvrij: waar een formaat een codec omhult, is de octrooilicentie een aparte vraag waarop de standaard geen antwoord geeft.

Het kan meerdere pagina’s in één bestand bevatten

Een DOCM-bestand is niet tot één pagina beperkt, en dat telt bij het converteren naar iets dat dat wel is: één omzetting levert één bestand op met daarin één pagina — de eerste, tenzij de omzetter je laat kiezen welke.

Het kan macro’s bevatten

DOCM mag uitvoerbare code meedragen, en meestal is dat precies de reden dat iemand deze extensie überhaupt tegenkomt: een mailserver of een documentportaal heeft hem geweigerd. Converteren naar een formaat zonder macro’s is de gebruikelijke weg eromheen — en ja, de macro’s zijn daarna weg.

Wat voor document het is

DOCM bevat een tekstdocument: alinea’s die zich naar de pagina voegen waarop ze belanden.

Daaruit volgt hoe het converteert: de tekst loopt opnieuw af, dus paginanummers zijn een eigenschap van het resultaat en niet van het bestand.

Wat DOCM opent

Microsoft Word leest het, en de meeste programma’s van dezelfde soort ook.

Als een bestand niet opengaat ligt het zelden aan het formaat — vaker is het programma ouder dan het formaat. Converteren naar iets ouders is de betrouwbare weg eromheen, en daarvoor is de rest van deze site bedoeld.

Het in de browser openen

Geen enkele browser leest het.

Dat is veruit de meest voorkomende reden om het te converteren: niet dat het formaat slecht is, maar dat de plek waar je het bestand wilt tonen het niet kan lezen.

Het is een werkformaat

DOCM is bedoeld om te openen en te wijzigen. Houd het bestand in dit formaat zolang het werk loopt, en exporteer eruit wanneer er een afgeronde versie nodig is.

Een document dat zegt dat het code bevat

DOCM en DOCX zijn hetzelfde formaat — een ZIP-pakket van XML met de tekst, stijlen en afbeeldingen — met één verschil: een DOCM mag een VBA-project bevatten en een DOCX niet. De extensie bestaat om dat zichtbaar te maken voordat het bestand geopend wordt.

Waar dit verschilt van spreadsheets is hoe vaak het gerechtvaardigd is. Een macrogestuurd werkblad is een normaal stuk kantoorautomatisering; een macrogestuurd document is veel zeldzamer. Sjablonen die velden invullen, een brief genereren of een huisstijl afdwingen zijn de legitieme gevallen, en ze zijn een klein deel van de DOCM-bestanden in omloop.

De meeste mensen komen er eentje tegen als verdachte bijlage

Het is de moeite waard om direct te zijn. Macrodragende Word-documenten waren gedurende bijna een decennium het meest effectieve mechanisme voor malwareverspreiding dat bestond — een factuur, een afleverbon, een cv, een document dat beweert macro’s nodig te hebben om correct weer te geven.

De zin "inhoud inschakelen om dit document te bekijken" is het herkenningsteken. Een echt document heeft geen macro’s nodig om leesbaar te zijn; de tekst zit in de XML en Word toont die of er nu code draait of niet. Elk bestand dat iets anders beweert, beschrijft wat het van jou wil in plaats van hoe documenten werken.

Wat Microsoft in 2022 veranderde

Office blokkeert macro’s nu botweg in documenten die van internet of een e-mailbijlage komen, in plaats van een inschakelknop te tonen. Windows markeert zulke bestanden met een zonevlag, en Word weigert de code met een rode balk en een link die uitlegt waarom.

Het effect was meetbaar, en dat gold ook voor de reactie: aanvallers stapten over op andere bestandstypen. Voor legitieme documenten is de oplossing om het bestand in de eigenschappen te deblokkeren of het in een map te bewaren die als vertrouwde locatie is ingesteld — beide zijn bewuste handelingen van iemand die weet waar het bestand vandaan komt, en dat is precies het punt.

De legitieme toepassingen, en waar ze voorkomen

Bedrijfssjablonen die een briefhoofd invoegen, velden vullen vanuit een database, nummering afdwingen, of een document uit een formulier produceren. Vooral juridische en financiële kantoren hebben hier flink in geïnvesteerd, en het werkt.

Let op dat een sjabloon meestal DOTM is in plaats van DOCM — het macro-fähige sjabloonformaat — omdat de bedoeling is nieuwe documenten ervan te starten in plaats van het rond te sturen. Een afgerond document dat macro’s draagt is een enigszins vreemd object, en vragen waarom is een redelijke vraag, geen paranoïde.

Het wegzetten ervan

Opslaan als DOCX laat het VBA-project vallen en houdt de tekst, stijlen, afbeeldingen, tabellen, kop- en voetteksten en al het andere. Word waarschuwt eerst. Voor een document dat je toegestuurd kreeg en alleen wilt lezen, is dit de juiste zet en kost het een seconde.

Omzetten naar PDF gaat verder en is het betere antwoord voor iets definitiefs. Een PDF kan helemaal geen code uitvoeren, legt de lay-out vast, en is wat de meeste ontvangers liever hadden ontvangen. Verstuur je een document dat toevallig in een macro-fähig sjabloon leeft, dan is een PDF exporteren zowel veiliger als attenter dan de DOCM doorsturen.

Er een bekijken zonder het uit te voeren

Hernoem het naar .zip en open het archief. De tekst en opmaak zijn leesbare XML, dus je ziet wat het document werkelijk zegt zonder dat Word ooit iets uitvoert. Het VBA-project is een binaire stroom en zal daar niet leesbaar zijn, wat op zichzelf informatief is: een document waarvan de macroblob groot is, doet iets substantieels.

Om de code te lezen, opent de VBA-editor in Word of LibreOffice het zonder het uit te voeren. Voor een onbekend bestand van een onbekende afzender is het eerlijke advies eenvoudiger: open het helemaal niet, en vraag de afzender waar het voor dient.

Wat te doen als je er eentje moet versturen

Vraag of de ontvanger de automatisering echt nodig heeft. Hebben ze alleen de inhoud nodig, stuur dan DOCX of PDF en de hele vraag verdwijnt — en hun mailpoort quarantaineert het aanzienlijk minder waarschijnlijk, wat veel poorten nu doen bij macro-fähige bijlagen.

Is de automatisering het punt, stuur het dan via een kanaal waar het bestand niet als afkomstig van internet wordt gemarkeerd: een gedeelde schijf, een interne documentbibliotheek, een pakket uitgerold door IT. Een DOCM mailen en de ontvanger daarna vertellen hoe hij hem moet deblokkeren, leert een gewoonte aan die de wijziging van 2022 juist wil doorbreken.

Antivirussoftware en de macro-scanner

De meeste actuele antivirusprogramma’s scannen het VBA-project van een DOCM specifiek op bekende kwaadaardige patronen, los van de gewone bestandsscan. Dat is waarom een DOCM soms wordt tegengehouden op het moment van downloaden in plaats van bij het openen — de scanner keek al in de macro voordat Word er ooit aan te pas kwam.

Een vals alarm komt voor, vooral bij sjablonen die legitieme automatisering bevatten die lijkt op wat malware ook doet, zoals bestanden aanmaken of e-mails versturen. Is een bekend, vertrouwd sjabloon plotseling tegengehouden, dan is contact opnemen met de leverancier verstandiger dan de bescherming uitschakelen.

De gegevens, op één plek

Kenmerken en herkomst van het formaat DOCM.
Extensie.docm
Mediatypeapplication/vnd.ms-word.document.macroEnabled.12
Uitgegeven doorMicrosoft
Voor het eerst gepubliceerd2007
SpecificatieECMA-376

DOCM-bestanden: veelgestelde vragen

Wat is het verschil tussen DOCM en DOCX?

Alleen dat een DOCM VBA-macro’s mag bevatten en een DOCX niet. Beide zijn ZIP-pakketten van XML met dezelfde tekst, stijlen en afbeeldingen. De aparte extensie bestaat zodat een ontvanger vóór het openen ziet dat het bestand beweert code te bevatten.

Is het veilig om een DOCM-bestand te openen?

Openen met macro’s uitgeschakeld is net zo veilig als elk document — de tekst wordt uit de XML weergegeven zonder dat er code draait. De macro’s inschakelen is de beslissing, en VBA heeft volledige toegang tot het bestandssysteem en het netwerk. Schakel alleen in voor bestanden waarvan je de herkomst kent.

Een document zegt dat ik inhoud moet inschakelen om het te bekijken. Moet ik dat doen?

Nee. Die zin is het klassieke herkenningsteken: een echt document heeft geen macro’s nodig om leesbaar te zijn, want Word toont de tekst of er nu code draait of niet. Een bestand dat iets anders beweert, beschrijft wat het van je wil.

Hoe verwijder ik macro’s uit een Word-document?

Sla het op als DOCX. Het VBA-project wordt weggegooid en de tekst, stijlen, afbeeldingen, tabellen, kop- en voetteksten blijven allemaal behouden. Word waarschuwt vooraf, en die waarschuwing is de hele handeling.

Waarom blokkeert Word macro’s in bestanden die ik per e-mail ontving?

Sinds 2022 weigert Office macro’s botweg in bestanden gemarkeerd als afkomstig van internet, in plaats van een inschakelknop te tonen. Voor een legitiem bestand: deblokkeer het in de bestandseigenschappen of bewaar het in een vertrouwde locatie — beide vereisen dat je weet waar het vandaan komt.

Kan ik zien wat een document bevat zonder het in Word te openen?

Hernoem het naar .zip en open het archief — de tekst en opmaak zijn leesbare XML. De macro is opgeslagen als een binaire stroom en zal daar niet leesbaar zijn, maar de grootte ervan alleen al vertelt of het document iets substantieels doet.