Сохранение листа в csv

Программирование на Visual Basic for Applications
Genius_p
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 13.10.2004 (Ср) 8:40

Сохранение листа в csv

Сообщение Genius_p » 13.10.2004 (Ср) 8:50

Имеется макрос сохраняющий листы в csv файлы

Код: Выделить всё
VP.SaveAs Filename:=fn, FileFormat:=xlCSV, CreateBackup:=False, Local:=True


Все бы хорошо но файл сохраняется с установками для USA стандартов (Local:=True ставилось чтоб он использовал региональные устанвки). Пробовал ставить Local:=False один фиг результат тот же.

Записывал макрос по действиям при которых Excel сохраняет правильно файл, но при его выполнении всеравно записался не правильный!

Нужно чтоб CSV записывался с разделителями ячеек (;) и дробной части (,), что стандартно для русских региональных установок

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.10.2004 (Ср) 10:39

Вообще-то CSV это Comma Separated Values, поэтому разделитель это и есть запятая.
Сохраняй по другому; открывай файл для Output, проходись циклом по ячейкам и выгружай данные в файл.
Lasciate ogni speranza, voi ch'entrate.

Genius_p
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 13.10.2004 (Ср) 8:40

Сообщение Genius_p » 13.10.2004 (Ср) 11:01

alibek писал(а):Вообще-то CSV это Comma Separated Values, поэтому разделитель это и есть запятая.
Сохраняй по другому; открывай файл для Output, проходись циклом по ячейкам и выгружай данные в файл.

А ты попробуй сохрани файл из Excel в этом формате когда у тебя стоит региональных настройках Русский. Он тебе сохранит как раз с разделителями ;
Так вот я тоже хочу сохранить так как это делает Excel

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.10.2004 (Ср) 11:03

А если параметр local вообще опустить?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.10.2004 (Ср) 11:09

Genius_p, я имел ввиду сохранять его не через .Save(As), а открывать Open ... For Output, проходится циклом по ячейкам и делать Print #.
Lasciate ogni speranza, voi ch'entrate.

Genius_p
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 13.10.2004 (Ср) 8:40

Сообщение Genius_p » 13.10.2004 (Ср) 11:18

GSerg писал(а):А если параметр local вообще опустить?

Так я его сначала опустил, а потом уже пытался подставить

Sergo
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 07.05.2002 (Вт) 19:04

Сообщение Sergo » 14.10.2004 (Чт) 21:54

Если в настройках Windows изменить в стандартах разделитель элементов списка с ; на ,

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 15.10.2004 (Пт) 12:45

Да с этим делом вообще борода...
К примеру, если открываем файл csv, в котором разделители на самом деле ";", то excel неправильно откроет его (если открывали через меню Открыть) или правильно откроет (если открывали даблкликом). Думается мне, в мелкософте долго чистили те места, где должна быть локаленезависимость, и в результате запутались...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Naug
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 01.10.2004 (Пт) 12:20

Сообщение Naug » 18.10.2004 (Пн) 9:14

А чем плох OpenText c Semicolon:=true, Coma:=false ?


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Mail.ru [бот] и гости: 26

    TopList