/ / एक्सेल वीबीए का उपयोग कर एक टेक्स्ट फ़ाइल में डेटा लिखें

एक्सेल वीबीए का उपयोग कर एक टेक्स्ट फ़ाइल में डेटा लिखें

नीचे हम एक कार्यक्रम देखेंगे एक्सेल VBA उस एक सीएसवी (अल्पविराम से अलग मूल्य) पाठ फ़ाइल में एक एक्सेल रेंज लिखता है.

परिस्थिति:

एक्सेल वीबीए में टेक्स्ट फ़ाइल में डेटा लिखें

अपने वर्कशीट पर कमांड बटन रखें और निम्न कोड लाइनें जोड़ें:

1। सबसे पहले, हम टाइप स्ट्रिंग नामक एक वैरिएबल घोषित करते हैं, जिसे आरएनजी प्रकार रेंज नामक एक ऑब्जेक्ट कहा जाता है, जिसे वेरिएंट के सेलवैल्यू नामक एक चर कहा जाता है, जिसे एक प्रकार का इंटीजर कहा जाता है, और एक वेरिएबल जिसे जे इंटेगर कहा जाता है। हम यहां एक वैरिएंट वैरिएबल का उपयोग करते हैं क्योंकि एक वैरिएंट वैरिएबल किसी भी प्रकार का मान रख सकता है।

Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer

2. हमें फ़ाइल के पूर्ण पथ और फ़ाइल नाम निर्दिष्ट करने की आवश्यकता है।

myFile = Application.DefaultFilePath & "sales.csv"

नोट: DefaultFilePath प्रॉपर्टी डिफ़ॉल्ट फ़ाइल पथ देता है। फ़ाइल खोलने या सहेजने के दौरान आप जिस फ़ोल्डर को देखते हैं उसका पथ।

3. हम चयनित श्रेणी के साथ रेंज ऑब्जेक्ट आरएनजी शुरू करते हैं।

Set rng = Selection

4. निम्नलिखित कोड लाइन जोड़ें:

Open myFile For Output As #1

ध्यान दें: यह कथन फाइल को लिखे जाने की अनुमति देता है। हम अपने शेष कोड के दौरान फ़ाइल को # 1 के रूप में संदर्भित कर सकते हैं। अगर फ़ाइल पहले से मौजूद है, तो इसे हटा दिया जाएगा और उसी नाम के साथ एक नई फाइल बनाई जाएगी।

5. एक डबल लूप शुरू करें।

For i = 1 To rng.Rows.Count
    For j = 1 To rng.Columns.Count

नोट: rng.Rows.Count पंक्तियों की संख्या (इस उदाहरण में 17) और rng.Columns.Count कॉलम की संख्या देता है (इस उदाहरण में 4)।

6. एक्सेल वीबीए एक सेल के वैल्यू सेल वैल्यू को लिखता है।

cellValue = rng.Cells(i, j).Value

7. पाठ फ़ाइल में सेलवैल्यू के मान को लिखने के लिए निम्न कोड पंक्तियां जोड़ें।

If j = rng.Columns.Count Then
    Write #1, cellValue
Else
    Write #1, cellValue,
End If

स्पष्टीकरण: यदि फिर अन्य कथन के कारण, एक्सेल वीबीए केवल एक नई लाइन शुरू करता है (लिखें # 1, सेलवैल्यू) जब जे कॉलम की संख्या (पंक्ति में अंतिम मान) के बराबर होता है। मान को अल्पविराम से अलग करने के लिए, लिखें # 1, सेलवैल्यू, (अल्पविराम के साथ) का उपयोग करें।

8. डॉन "दोनों loops बंद करने के लिए मत भूलना।

    Next j
Next i

9. फ़ाइल बंद करें।

Close #1

10. डेटा का चयन करें और शीट पर कमांड बटन पर क्लिक करें।

परिणाम:

टेक्स्ट फ़ाइल परिणाम में डेटा लिखें

यह भी पढ़ें: