2012-07-16 15 views
60

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

मैं उन कोडों को लिखना चाहता हूं जो .txt फ़ाइल में मुद्रित होने जा रहे हैं।

क्या आदेश एक .txt VBA का उपयोग कर फ़ाइल बनाने के लिए है, और कैसे मैं लिखने यह

+0

आप एक बार यह बनाई गई है किसी मौजूदा फ़ाइल को संशोधित करने के लिए करना चाहते हैं? और "सी कोड" – brettdj

उत्तर

117

उपयोग एफएसओ फ़ाइल बनाने और इसे करने के लिए लिखने के लिए करते हैं।

+12

क्या है जब आप सीधे स्क्रिप्टिंग रनटाइम का संदर्भ देते हैं, तो आप सही प्रकारों का उपयोग कर सकते हैं: 'नई फ़ाइल सिस्टम के रूप में मंद ओएफएस डिम ओफाइल टेक्स्टस्ट्रीम के रूप में –

+0

पुराने चैनल विधि पर स्क्रिप्टिंग रनटाइम का उपयोग कर रहा है? मुझे अपने अनुभवों को अन्य अनुभवों से समर्थित जानकारी के साथ बताने के कुछ कारण चाहिए। –

+0

@ रिक हेंडरसन, मैं इसे पसंद करता हूं, अगर आपका यही मतलब है। लाभ encapsulation है। एक बार जब आप ऑब्जेक्ट करते हैं (ओफाइल = कुछ भी नहीं सेट करें), या यह दायरे से बाहर हो जाता है, तो फ़ाइल स्वचालित रूप से बंद हो जाती है। – Ben

15

बाहर ज्यादा अतिरेक के साथ एक आसान तरीका:

Dim fso as Object 
Set fso = CreateObject("Scripting.FileSystemObject") 
Dim oFile as Object 
Set oFile = FSO.CreateTextFile(strPath) 
oFile.WriteLine "test" 
oFile.Close 
Set fso = Nothing 
Set oFile = Nothing  

दस्तावेज़ यहां देखें।

Dim fso As Object 
    Set fso = CreateObject("Scripting.FileSystemObject") 

    Dim Fileout As Object 
    Set Fileout = fso.CreateTextFile("C:\your_path\vba.txt", True, True) 
    Fileout.Write "your string goes here" 
    Fileout.Close 
+0

क्या पथ सेट करने के लिए फ़ाइल चयनकर्ता का उपयोग करना संभव है? – rrs

-3
Dim SaveVar As Object 

Sub Main() 

    Console.WriteLine("Enter Text") 

    Console.WriteLine("") 

    SaveVar = Console.ReadLine 

    My.Computer.FileSystem.WriteAllText("N:\A-Level Computing\2017!\PPE\SaveFile\SaveData.txt", "Text: " & SaveVar & ", ", True) 

    Console.WriteLine("") 

    Console.WriteLine("File Saved") 

    Console.WriteLine("") 

    Console.WriteLine(My.Computer.FileSystem.ReadAllText("N:\A-Level Computing\2017!\PPE\SaveFile\SaveData.txt")) 
    Console.ReadLine() 

End Sub() 
+0

यह एक पाठ फ़ाइल लिखने और पढ़ने में मदद कर सकता है –

+1

मुझे लगता है कि आप यह नहीं पढ़ते कि प्रश्न क्या है और आप यह भी समझाना नहीं चाहते कि आप क्या प्रयास करने जा रहे हैं जो दूसरों की मदद करते समय एक अच्छी बात नहीं है। –

+0

और आप अपने उत्तर को सही तरीके से स्वरूपित नहीं कर रहे हैं। – BDL

5
Open ThisWorkbook.Path & "\template.txt" For Output As #1 
Print #1, strContent 
Close #1 
+0

Pleas कुछ स्पष्टीकरण और विवरण के साथ जवाब लिखें। –

+0

यह प्रश्न का उत्तर नहीं प्रदान करता है। एक बार आपके पास पर्याप्त [प्रतिष्ठा] (https://stackoverflow.com/help/whats-reputation) हो जाने पर आप [किसी भी पोस्ट पर टिप्पणी कर सकेंगे] (https://stackoverflow.com/help/privileges/comment); इसके बजाय, [उन उत्तरों को प्रदान करें जिन्हें पूछताछ से स्पष्टीकरण की आवश्यकता नहीं है] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-कर-बजाय)। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाली पोस्ट/17750668) – Rich

+0

मैं इस विधि को एफएसओ विधि को पसंद करता हूं क्योंकि इसे बाहरी संदर्भों की आवश्यकता नहीं होती है और यह काफी कम है। हालांकि मैं हार्डफाइल का उपयोग # 1 के रूप में हार्डकोडिंग के बजाय फ़ाइल नंबर प्राप्त करने का सुझाव देता हूं। – phrebh