हाल ही में मुझे कुछ डेटा को स्प्रेडशीट में कॉपी करने की आवश्यकता है, इसे प्रारूपित करने के लिए वीबीए का उपयोग करें, फिर उस शीट को CSV फ़ाइल में सहेजें। मैं निम्नलिखित कोड का उपयोग करता हूं:वीबीए का उपयोग कर सेमी-कॉलन सीमांकित सीएसवी फ़ाइल को कैसे सहेजते हैं?
ws.SaveAs Filename:=filestr, Fileformat:=xlCSV
ws वर्कशीट जिसे मैंने सहेजा है।
यह मुझे एक अल्पविराम-सीमांकित सीएसवी फ़ाइल देगा।
हालांकि, मैं उस शीट को अर्धविराम-सीमांकित फ़ाइल में सहेजना चाहता हूं। मैं कुछ Googling किया है और निम्नलिखित समाधान पाया है:
- > सेटिंग प्रारंभ> क्षेत्रीय और भाषा विकल्प कस्टमाइज़ करें बटन
- अगला एक सेमी-कोलन (में सेपरेटर प्रकार सूची पर पर
- क्लिक करें;)
मैं उपरोक्त प्रक्रिया का पालन किया है और करने के लिए अपने कोड बदल दिया है:
ws.SaveAs Filename:=filestr, Fileformat:=xlCSV, Local:=True
लेकिन मैं stil मुझे आउटपुट के रूप में अल्पविराम-सीमांकित सीएसवी फ़ाइल मिली।
एक्सेल के संस्करण का उपयोग कर रहा हूँ Excel 2003 है और मेरे ओएस Windows XP
हैकिसी VBA का उपयोग कर एक सेमी-कोलन सीमांकित फ़ाइल को बचाने के लिए सुझाव है कि सकता है? ActiveWorkbook.SaveAs "मेरे File.csv" xlCSV स्थानीय,,:: = सच
(का उपयोग नहीं करते: =: फ़ाइल का नाम) इस
इसे मैन्युअल रूप से करने का एक तरीका है; http://stackoverflow.com/a/7079703/246342 डिलीमीटर को ";" से प्रतिस्थापित करें और ActiveSheet.UsedRange –
के साथ सीमा आपके सुझाव के लिए बहुत बहुत धन्यवाद। लेकिन जब मैंने आपका कोड चलाने की कोशिश की तो मुझे एक समस्या आई है। मेरे पास स्प्रेडशीट में '1.0000000' जैसे कुछ मान हैं और जब यह 'CStr (c.Value)' द्वारा स्ट्रिंग में कनवर्ट किया जाता है, तो यह स्वचालित रूप से' 1' तक गोल हो जाता है। क्या आप सुझाव दे सकते हैं कि इससे कैसे निपटें? धन्यवाद :) – user1758952
प्रारूपण रखने के लिए 'c.text' –