0 / 0 / 0
Регистрация: 12.07.2022
Сообщений: 7
Excel

Пакетное преобразование CSV в XLS(X)

05.08.2022, 16:30. Показов 1408. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! В открытом доступе нашла макрос для пакетного преобразования файлов CSV в XLS. Однако, при выполнении этого макроса данные не сохраняются в том формате, в котором они были изначально представлены в CSV файле (все значения оказываются в первом столбце). Прикрепляю изображения для наглядности. Помогите понять в чем причина, пожалуйста
Cам макрос:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub CSVtoXLS()
'UpdatebyExtendoffice20170814
    Dim xFd As FileDialog
    Dim xSPath As String
    Dim xCSVFile As String
    Dim xWsheet As String
    Application.DisplayAlerts = False
    Application.StatusBar = True
    xWsheet = ActiveWorkbook.Name
    Set xFd = Application.FileDialog(msoFileDialogFolderPicker)
    xFd.Title = "Select a folder:"
    If xFd.Show = -1 Then
        xSPath = xFd.SelectedItems(1)
    Else
        Exit Sub
    End If
    If Right(xSPath, 1) <> "\" Then xSPath = xSPath + "\"
    xCSVFile = Dir(xSPath & "*.csv")
    Do While xCSVFile <> ""
        Application.StatusBar = "Converting: " & xCSVFile
        Workbooks.Open Filename:=xSPath & xCSVFile
        ActiveWorkbook.SaveAs Replace(xSPath & xCSVFile, ".csv", ".xls", vbTextCompare), xlNormal
        ActiveWorkbook.Close
        Windows(xWsheet).Activate
        xCSVFile = Dir
    Loop
    Application.StatusBar = False
    Application.DisplayAlerts = True
End Sub
Миниатюры
Пакетное преобразование CSV в XLS(X)   Пакетное преобразование CSV в XLS(X)  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.08.2022, 16:30
Ответы с готовыми решениями:

Преобразование файла CSV в XLS
Уважаемые знатоки, обращаюсь к вам с проблемой, беспощадно точащей моё сознание уже 5-й день. Заранее оговорюсь, что буду благодарен...

Преобразование файла CSV в XLS / VBA
Уважаемые знатоки, обращаюсь к вам с проблемой, беспощадно мучавшей мое сознание уже неделю. ЛОВИЕ: имеется директория с лежащими в...

Преобразование файла csv в xls при создании в VBA
Здравствуйте. Такая ситуация: Создаются отчеты, каждые 12 часов из программы Sppa-t3000 в формате csv. Требуется при создании каждого...

5
ᴁ ©
Эксперт MS Access
 Аватар для АЕ
4128 / 2423 / 501
Регистрация: 13.12.2016
Сообщений: 8,247
Записей в блоге: 5
05.08.2022, 17:57
Лучший ответ Сообщение было отмечено wiwyt как решение

Решение

wiwyt, 21 строку попробуйте заменить
Visual Basic
1
Workbooks.Open Filename:=xSPath & xCSVFile, Delimiter:=";", Local:=True
0
0 / 0 / 0
Регистрация: 12.07.2022
Сообщений: 7
08.08.2022, 22:17  [ТС]
АЕ, спасибо за отклик!! Попробовала сделать как Вы сказали, теперь сохраняет новые файлы в нужном формате, однако диапазон данных меняется (если в изначальном файле был A1:BIN1200, то в файле, который получается после применения макроса диапазон A1:IV1200). Мы же не задаем нигде диапазон, почему так происходит?...
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
08.08.2022, 23:04
Цитата Сообщение от wiwyt Посмотреть сообщение
XLS
IV это как раз 256 колонка в этом формате
Пробуйте открыть 2010 екселе
1
run
 Аватар для I can
4906 / 4511 / 836
Регистрация: 13.04.2015
Сообщений: 9,634
09.08.2022, 07:02
Цитата Сообщение от wiwyt Посмотреть сообщение
BIN
1600 столбцов?
0
малоболт
1328 / 510 / 213
Регистрация: 30.01.2020
Сообщений: 1,243
09.08.2022, 09:30
Цитата Сообщение от wiwyt Посмотреть сообщение
Мы же не задаем нигде диапазон, почему так происходит?...
Потому что в 21 строке делаете SaveAs в файл с типом xlNormal. Попробуйте поменять 21 строку на
Visual Basic
21
 ActiveWorkbook.SaveAs Replace(xSPath & xCSVFile, ".csv", ".xlsx"), 51
Хорошо бы при этом быть уверенным, что в csv-файле не встречаются числа, разделённые точкой. А то вполне реально получить, имея на входе что-то типа 2.12 за счёт автоматического распознавания Excel такого числа как даты (а дата хранится в виде целого числа дней, прошедших после 31.12.1899), получить в результирующем файле 44897,00 вместо 2,12. И долго искать, что и где не сходится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.08.2022, 09:30
Помогаю со студенческими работами здесь

Импорт CSV в XLS с переносом строки
Всем доброго времени суток! Прошу помощи или хотя бы подсказки в каком направлении копать. Есть файл CSV с наименованиями.Проблема...

Перенос данных из csv в xls-файл
Zdrawstwujte, pomogite razobrat' kusok koda kotoryj perenosit dannyje iz fajla csv w xls, a tocnee czto za czto otweczaet, tak kak ish'u...

Пакетное вейвлет преобразование
Подскажите, пожалуйста, детальный пошаговый алгоритм по построение пакетного вейвлет преобразования и как его можно применить не для...

Пакетное вейвлет-преобразование
Нужно построить пакетное вейвлетное преобразование для вибрации и его график. Есть файл, в котором есть значения отклонения детали при...

Пакетное преобразование видео 480х360 в 640х360
Есть у меня много видео-файлов в формате *.avi размером 480х360 пикселей, то есть – с соотношением сторон 4х3. Требуется сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
PowerShell и онлайн сервисы. Валюта (floatrates.com руб.)
iNNOKENTIY21 11.11.2025
PowerShell функция floatrates-rub Примеры вызова: # Указанная валюта 'EUR' floatrates-rub -Code 'EUR' # Список имеющихся кодов валют floatrates-rub -Available function floatrates-rub {
PowerShell и онлайн сервисы. Погода (RP5.ru)
iNNOKENTIY21 11.11.2025
PowerShell функция Get-WeatherRP5rss для получения погоды с сервиса RP5 Примеры вызова Get-WeatherRP5rss с указанием id 5484 — Москва (восток, Измайлово) и переносом строки:. . .
PowerShell и онлайн сервисы. Погода (wttr)
iNNOKENTIY21 11.11.2025
PowerShell Функция для получения погоды с сервиса wttr Примеры вызова: Погода в городе Омск с прогнозом на день, можно изменить прогноз на более дней, для этого надо поменять запрос:. . .
PowerShell и онлайн сервисы. Валюта (ЦБР)
iNNOKENTIY21 11.11.2025
# Получение курса валют function cbr (] $Valutes = @('USD', 'EUR', 'CNY')) { $url = 'https:/ / www. cbr-xml-daily. ru/ daily_json. js' $data = Invoke-RestMethod -Uri $url $esc = 27 . . .
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru