Как да запиша csv от ексел без да се слагат автоматични кавички "" отпред?
Привет! Правя файл само в колона А от типа 111,222 и го записвам като comma delimited за използване в друг софтуер. Проблемът е, че отворен в текстов редактор файлът винаги излиза във вида "111,222", което обърква някои продукти с command line interface, ГИС програми, Python и и др. Благодаря
Здравей, Симеон.
Ако в колона А имаш записи от вида, 111,222 и ако ти трябват точно така 111,222 в csv вариант, защото не се пробваш дирктно да ги запишеш като .txt файл.
Цялата работа в момента най-вероятно става заради регионалните настройки, ако са на Български и десетичен рзделител е приет запетая и си задал на Excel да използва този сепаратор, би следвало всичко да е нормлано.
Последен вариант, който преди малко пробвах е:
Sub Export()
'updateby Extendoffice 20160530
Dim xRg As Range
Dim xRow As Range
Dim xCell As Range
Dim xStr As String
Dim xTxt As String
Dim xName As Variant
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("Please select data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
xName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
Open xName For Output As #1
For Each xRow In xRg.Rows
xStr = ""
For Each xCell In xRow.Cells
xStr = xStr & xCell.Value & Chr(9)
Next
While Right(xStr, 1) = Chr(9)
xStr = Left(xStr, Len(xStr) - 1)
Wend
Print #1, xStr
Next
Close #1
If Err = 0 Then MsgBox "The file has saved to: " & xName, vbInformation, "Kutools for Excel"
End Sub
работи безупречно. Принципа му на работа е както при всеки друг VBA код.
Ако мога да те помоля да драснеш един ред, кое е проработило при теб.
Здрасти, пробвах различните варианти. Аз искам запетаята да ми е разделител на групите от данни, а за десетичен използвам точка. Без значение от останалите настройки, Екел записва в csv с кавички. Не намерих никъде опция за премахване на кавичките от двете страни, но очевидно само най-новия Ексел прави това. Предполагам, че са му зададени някакви default настройки. Отваряйки файла в .txt редактор те си се виждат "A,B". На практика реших проблема като просто си отворих таблицата в стар Ексел (2003 мисля) :) Поздрави и благодаря.
Дори и VBA кода ли не помогна?
Да, изпълних VBA кода в новата версия и работи по очаквания начин. Експортвам си с него. Благодаря! Все пак по - user friendly варианта save as csv винаги слага кавичките отстрани, което е странно .