DOCM

DOCM फ़ाइल क्या होती है?

मैक्रो वाला Word दस्तावेज़। PDF में बदलना अक्सर मक़सद ही यही होता है: मैक्रो साथ नहीं जाते।

DOCM है क्या

DOCM एक कंटेनर है: एक खोल, जिसके अंदर वे धाराएँ रहती हैं जिन्हें किसी और ने एन्कोड किया है। इसका इस्तेमाल एडिटिंग के लिए होता है।

एक्सटेंशन .docm है और पूरा नाम Word Macro-Enabled Document। दोनों उतना नहीं बताते जितना यह कि फ़ाइल अंदर क्या-क्या रख सकती है — और इस पन्ने का बाक़ी हिस्सा इसी के बारे में है।

DOCM आया कहाँ से

इसे Microsoft ने 2007 में जारी किया था। विनिर्देश ECMA-376 है।

उम्र एक व्यावहारिक वजह से काम की है: फ़ॉर्मेट जितना पुराना, उतने ज़्यादा प्रोग्रामों को उसे सीखने का वक़्त मिला है।

विनिर्देश सार्वजनिक है

यह पूरा प्रकाशित है, इसलिए कोई भी इसे देखकर अंदाज़ा लगाने के बजाय दस्तावेज़ पढ़कर लागू कर सकता है। यही वजह है कि यह फ़ॉर्मेट इतने सारे प्रोग्रामों में मिलता है, और यही वजह है कि बीस साल पहले लिखी गई फ़ाइलें आज भी खुल जाती हैं। पर विनिर्देश का प्रकाशित होना और उसका रॉयल्टी-मुक्त होना एक बात नहीं है: जहाँ फ़ॉर्मेट किसी कोडेक को अपने अंदर लपेटता है, वहाँ पेटेंट का लाइसेंस एक अलग सवाल है, और मानक उसका जवाब नहीं देता।

यह एक ही फ़ाइल में कई पन्ने रख सकती है

DOCM फ़ाइल एक पन्ने तक सीमित नहीं है, और जब इसे ऐसी चीज़ में बदला जाए जो सीमित है तो यह मायने रखता है: एक बार बदलने पर एक ही फ़ाइल निकलती है और उसमें एक ही पन्ना होता है — पहला वाला, बशर्ते कन्वर्टर पन्ना चुनने की सुविधा न देता हो।

इसमें मैक्रो हो सकते हैं

DOCM फ़ाइल अपने साथ चलने वाला कोड ले जा सकती है, और अमूमन किसी का इस एक्सटेंशन से पाला पड़ने की वजह भी यही होती है: किसी मेल सर्वर या दस्तावेज़ पोर्टल ने इसे मना कर दिया। बिना मैक्रो वाले फ़ॉर्मेट में बदल लेना इससे निकलने का आम रास्ता है — और हाँ, उसके बाद मैक्रो नहीं बचते।

यह किस तरह का दस्तावेज़ है

DOCM के अंदर एक टेक्स्ट दस्तावेज़ होता है: ऐसे अनुच्छेद जो जिस पन्ने पर पड़ें उसी के हिसाब से नए सिरे से बैठ जाते हैं।

यही तय करता है कि यह कैसे बदलता है: टेक्स्ट नए सिरे से बैठता है, इसलिए पन्नों की गिनती नतीजे की ख़ासियत है, फ़ाइल की नहीं।

DOCM को खोलता कौन है

Microsoft Word इसे पढ़ता है, और इसी तरह के ज़्यादातर दूसरे प्रोग्राम भी।

फ़ाइल न खुले तो कसूर फ़ॉर्मेट का शायद ही कभी होता है — अक्सर प्रोग्राम ही फ़ॉर्मेट से पुराना होता है। किसी पुरानी चीज़ में बदल लेना इससे निकलने का भरोसेमंद रास्ता है, और इस वेबसाइट का बाक़ी हिस्सा इसी के लिए है।

इसे ब्राउज़र में खोलना

इसे कोई भी ब्राउज़र नहीं पढ़ता।

इसे बदलने की सबसे आम वजह यही है: फ़ॉर्मेट ख़राब है, ऐसा नहीं — बात यह है कि जहाँ आप फ़ाइल दिखाना चाहते हैं वह जगह उसे पढ़ ही नहीं सकती।

यह काम करने का फ़ॉर्मेट है

DOCM इसलिए बना है कि इसे खोला और बदला जाए। जब तक काम चल रहा है फ़ाइल इसी फ़ॉर्मेट में रखिए, और जब भी बनी हुई प्रति चाहिए हो, इसी से निर्यात कीजिए।

ऐसा दस्तावेज़ जो कहता है उसमें कोड है

DOCM और DOCX एक ही फ़ॉर्मेट हैं — टेक्स्ट, स्टाइल और तस्वीरों वाला XML का ZIP पैकेज — बस एक फ़र्क़ के साथ: DOCM में VBA प्रोजेक्ट हो सकता है, DOCX में नहीं। एक्सटेंशन इसे फ़ाइल खुलने से पहले ही दिखा देता है।

स्प्रेडशीट से यहाँ फ़र्क़ यह है कि यह कितनी बार जायज़ ठहराया जाता है। मैक्रो-चालित वर्कबुक ऑफ़िस ऑटोमेशन का सामान्य हिस्सा है; मैक्रो-चालित दस्तावेज़ कहीं ज़्यादा दुर्लभ है।

ज़्यादातर लोग इसे संदिग्ध अटैचमेंट के तौर पर मिलते हैं

साफ़ कहना ज़रूरी है। मैक्रो वाले Word दस्तावेज़ लगभग एक दशक तक मैलवेयर पहुँचाने का सबसे असरदार तरीक़ा रहे — कोई इनवॉइस, डिलीवरी नोट, या यह दावा करता दस्तावेज़ कि सही दिखने के लिए मैक्रो चालू करना ज़रूरी है।

«इस दस्तावेज़ को देखने के लिए कंटेंट चालू करें» वाक्य ही पहचान है। असली दस्तावेज़ को पढ़ने के लिए मैक्रो की ज़रूरत नहीं होती — टेक्स्ट XML में है और Word उसे कोड चले बिना भी दिखाता है।

2022 में Microsoft ने क्या बदला

Office अब इंटरनेट या ईमेल अटैचमेंट से आए दस्तावेज़ों में मैक्रो को पूरी तरह रोकता है, चालू करने का बटन देने के बजाय। Windows ऐसी फ़ाइलों पर एक zone flag लगाता है, और Word लाल पट्टी के साथ कोड मना कर देता है।

असर मापने लायक था, और जवाब भी — हमलावर दूसरी फ़ाइल क़िस्मों की तरफ़ मुड़ गए। जायज़ दस्तावेज़ों के लिए, फ़ाइल के गुणों में इसे unblock करना या भरोसेमंद स्थान में रखना ही हल है।

जायज़ इस्तेमाल, और वे कहाँ मिलते हैं

कॉर्पोरेट टेम्प्लेट जो लेटरहेड जोड़ते हैं, डेटाबेस से फ़ील्ड भरते हैं, नंबरिंग लागू करते हैं। ख़ासकर क़ानूनी और वित्तीय फ़र्म इनमें भारी निवेश रखती हैं।

ध्यान दीजिए कि टेम्प्लेट आम तौर पर DOCM नहीं, DOTM होता है — मैक्रो-सक्षम टेम्प्लेट फ़ॉर्मेट — क्योंकि इरादा इससे नए दस्तावेज़ शुरू करना है, इसे घुमाना नहीं। जो पूरा दस्तावेज़ मैक्रो ढो रहा हो, वह थोड़ी अजीब चीज़ है।

इसे बदलना

DOCX के तौर पर सहेजना VBA प्रोजेक्ट हटा देता है और टेक्स्ट, स्टाइल, तस्वीरें, टेबल, हेडर-फ़ुटर सब रखता है। भेजी गई फ़ाइल को सिर्फ़ पढ़ना है तो यही सही क़दम है।

PDF में बदलना आगे जाकर बेहतर जवाब है किसी भी अंतिम चीज़ के लिए। PDF कोई कोड चला ही नहीं सकती, यह लेआउट पक्का करती है, और यही वह चीज़ है जो ज़्यादातर पाने वाले असल में चाहते थे।

इसे बिना चलाए जाँचना

इसका नाम .zip कर दीजिए और आर्काइव खोलिए। टेक्स्ट और फ़ॉर्मैटिंग पढ़ने लायक XML है, इसलिए बिना Word को कुछ चलाने दिए यह देखा जा सकता है कि दस्तावेज़ असल में क्या कहता है। VBA प्रोजेक्ट एक बाइनरी स्ट्रीम है और वहाँ पढ़ी नहीं जाएगी।

कोड पढ़ने के लिए Word या LibreOffice का VBA एडिटर इसे बिना चलाए खोल देगा। किसी अनजान भेजने वाले की अपरिचित फ़ाइल के लिए सीधी सलाह है: इसे बिलकुल न खोलें।

अगर एक भेजनी हो तो क्या करें

पूछिए कि क्या पाने वाले को असल में ऑटोमेशन चाहिए। अगर सिर्फ़ सामग्री चाहिए, DOCX या PDF भेजिए और पूरा सवाल ख़त्म हो जाता है — साथ ही उनका मेल गेटवे इसे रोकेगा नहीं।

अगर ऑटोमेशन ही मक़सद है, इसे किसी ऐसे रास्ते से भेजिए जहाँ फ़ाइल इंटरनेट-स्रोत के तौर पर चिह्नित न हो — साझा ड्राइव, आंतरिक दस्तावेज़ लाइब्रेरी।

ज़रूरी जानकारी, एक जगह

DOCM फ़ॉर्मेट की पहचान और उसका स्रोत।
एक्सटेंशन.docm
मीडिया टाइपapplication/vnd.ms-word.document.macroEnabled.12
प्रकाशकMicrosoft
पहली बार प्रकाशित2007
विनिर्देशECMA-376