Gần đây tôi cần sao chép một số dữ liệu vào một bảng tính, sử dụng VBA để định dạng nó, sau đó lưu trang tính đó vào tệp CSV. Tôi sử dụng mã sau:Làm thế nào để lưu tập tin csv bán kết tràng bằng cách sử dụng vba?
ws.SaveAs Filename:=filestr, Fileformat:=xlCSV
ws là trang tính tôi đã lưu.
Điều này sẽ cung cấp cho tôi tệp CSV được phân cách bằng dấu phẩy.
Tuy nhiên, tôi muốn lưu trang tính đó vào tệp phân cách bằng dấu chấm phẩy. Tôi đã làm một số Googling và tìm thấy các giải pháp sau đây:
- Vào Start> Settings> Regional and Language Options
- Bấm vào nút Customize
- Next để Liệt kê dạng tách trong một dấu chấm phẩy (;)
tôi đã theo các thủ tục nêu trên và thay đổi mã của tôi để:
ws.SaveAs Filename:=filestr, Fileformat:=xlCSV, Local:=True
Nhưng tôi stil l có tệp CSV được phân cách bằng dấu phẩy làm đầu ra.
Các phiên bản của excel tôi sử dụng là Excel 2003 và hệ điều hành của tôi là Windows XP
bất cứ ai có thể đề nghị làm thế nào để tiết kiệm một dấu chấm phẩy tập tin được phân định bằng VBA?
Đây là cách để thực hiện thủ công; http://stackoverflow.com/a/7079703/246342 thay thế dấu phân cách bằng dấu ";" và phạm vi với ActiveSheet.UsedRange –
Cảm ơn rất nhiều cho đề xuất của bạn. Nhưng tôi đã gặp phải một vấn đề khi tôi cố chạy mã của bạn. Tôi có một số giá trị như '1.0000000' trong bảng tính của tôi và khi nó được chuyển thành chuỗi bằng' CStr (c.Value) ', nó được tự động làm tròn thành' 1'. Bạn có thể đề nghị làm thế nào để đối phó với nó? Cảm ơn :) – user1758952
Để giữ định dạng thay thế 'CStr (c.Value)' bằng 'c.text' –