Microsoft Access फ़ॉर्म में दस्तावेज़ों का पूर्वावलोकन करें
परियोजना का दायरा
हमने हाल ही में एक परियोजना के लिए एक दस्तावेज़ केंद्र जोड़ा है जो उपयोगकर्ताओं को एक परियोजना के लिए पीडीएफ, शब्द, टीएक्सटी और छवियों जैसे दस्तावेजों को संलग्न करने की अनुमति देता है। इसके अलावा उनके पास आने वाले ईमेल को पढ़ने और ईमेल अटैचमेंट को नेटवर्क ड्राइव में सहेजने के लिए एक स्वचालित प्रक्रिया होगी। लक्ष्य उपयोगकर्ता को प्राप्त हुए नए दस्तावेज़ों को देखने और उन्हें सही स्थान पर सहेजने की अनुमति देना है। निश्चित रूप से हम उपयोगकर्ता को दस्तावेज़ की सामान्य जानकारी को समझने की अनुमति देने के लिए विषय और दस्तावेज़ किसके पास से जानकारी निकालने के लिए प्रक्रिया का प्रबंधन करेंगे और इसे एक तालिका में सहेजा जाएगा। इसके अलावा उपयोगकर्ता को इसकी सामग्री को पढ़ने के लिए दस्तावेज़ को देखने में सक्षम होना चाहिए।
समाधान
हम निश्चित रूप से वर्ड में वर्ड डॉक्स और एडोब एक्रोबेट आदि में पीडीएफ देखने के लिए अन्य एप्लिकेशन लॉन्च कर सकते हैं। हालांकि जब किसी उपयोगकर्ता के पास काम करने के लिए केवल एक स्क्रीन होती है तो इसका मतलब है कि एक एप्लिकेशन से दूसरे एप्लिकेशन में स्विच करना और यदि कई दस्तावेज़ प्रकार हैं तो बेशक इसका मतलब है कई एप्लिकेशन खोलना। इसलिए हमने एक सरल समाधान प्रदान किया जो दस्तावेज़ को टैब लेआउट के साथ एक नए एक्सेस फॉर्म में लॉन्च करेगा जिससे उपयोगकर्ता सिस्टम को आसानी से प्रबंधित कर सके। नीचे दिए गए उदाहरण में मैं कोड का उपयोग कर रहा हूं जो किसी दिए गए पथ से फ़ाइल को पढ़ेगा, जिसे उपयोगकर्ता को अपने कंप्यूटर पर एक्सेस करने की आवश्यकता होगी। वैकल्पिक रूप से, यदि दस्तावेज़ को SQL तालिका में सहेजा गया है, तो हम दस्तावेज़ को अस्थायी रूप से स्थानीय ड्राइव पर सहेजने के लिए कोड को संशोधित कर सकते हैं और फ़ाइल को अस्थायी स्थान से लॉन्च कर सकते हैं। यदि आप इस पद्धति का उपयोग करते हैं तो आप फ़ॉर्म को देखने/बंद करने के बाद अस्थायी फ़ाइल को हटाने के लिए अतिरिक्त कोड भी शामिल करना चाहेंगे।
नमूना प्रपत्र
प्रदान किया गया नमूना प्रपत्र OpenArgs में दस्तावेज़ पथ को पार करते हुए लॉन्च किया जाना चाहिए
DoCmd.OpenForm "frmDocumentReview", OpenArgs:=Me.DocumentPath
ऑन लोड कोड सत्यापित करता है कि पथ पारित किया गया था और यह भी कि फ़ाइल मौजूद है या नहीं। यदि सब कुछ अच्छा रहा तो प्रक्रिया जारी रहती है।
Private Sub Form_Load() यदि IsNull(Me.OpenArgs) तो MsgBox "कोई दस्तावेज़ दिखाने के लिए नहीं", "पथ निर्दिष्ट नहीं है" उप से बाहर निकलें यदि FSO नहीं है। FileExists(Me.OpenArgs) तो MsgBox "आपका कंप्यूटर नहीं है नामित फ़ाइल तक पहुंच है। इसे देखने के लिए आपको फ़ाइल डाउनलोड करनी होगी।" उप और शोदस्तावेज़ से बाहर निकलें OpenArgs अंत यदि समाप्त हो तो अंत उप
अंत में कोड दस्तावेज़ लोड करता है। शोडॉक्यूमेंट उप विभिन्न दस्तावेज़ प्रकारों का ख्याल रखता है। अधिकांश दस्तावेज़ प्रकार अन्य मामले का उपयोग करते हैं। प्रपत्र में स्वयं एक छिपा हुआ टेक्स्ट बॉक्स होता है जिसे txtPath . कहा जाता है जो OpenArgs (फ़ाइल का नाम और पथ) के मान को संग्रहीत करता है, यह या तो मैप की गई ड्राइव या UNC हो सकता है। वेब ब्राउज़र ऑब्जेक्ट =[txtPath] stores को स्टोर करता है नियंत्रण स्रोत के रूप में। हालाँकि शब्द दस्तावेज़ समान काम नहीं करते हैं, और आपको पहले दस्तावेज़ को html के रूप में सहेजना होगा। मैंने मूल रूप से क्रिस्टल लॉन्ग द्वारा लिखित एक विधि का उपयोग किया और कुछ मामूली बदलाव किए।
निजी उप शो दस्तावेज़ (स्ट्रिंग के रूप में strPath) मंद strExt स्ट्रिंग के रूप में मंद sPathFileHTML स्ट्रिंग मंद के रूप में oWordApp ऑब्जेक्ट मंद oDoc के रूप में ऑब्जेक्ट strExt =GetFileExt (strPath) केस का चयन करें strExt केस "docx" 'शब्द दस्तावेज़ को HTML sPathFileHTML =CurrentProject के रूप में सहेजें। पथ और "\temp.html" सेट oWordApp =CreateObject("Word.Application") oDoc =oWordApp.Documents.Open(strPath) oDoc.SaveAs2 FileName:=sPathFileHTML, FileFormat:=8 'wdFormatHTML oDoc.Close False oWordApp सेट करें। सेट से बाहर निकलें oDoc =कुछ भी नहीं सेट करें