Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
DOCM
Een Word-document met macro’s. Naar PDF omzetten is meestal precies het doel: de macro’s gaan niet mee.
DOCM
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
| Extensie | .docm |
|---|---|
| Mediatype | application/vnd.ms-word.document.macroEnabled.12 |
| Uitgegeven door | Microsoft |
| Voor het eerst gepubliceerd | 2007 |
| Specificatie | ECMA-376 |
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.
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.
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.
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.
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.
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.