Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2020, 14:31   #11
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Не знаю, у меня всё работает, я редко когда публикую код "с коленки".
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.04.2020, 22:59   #12
Romancobran
Пользователь
 
Регистрация: 10.04.2020
Сообщений: 23
По умолчанию

Нашел решение.
Всем спасибо за подсказки, хоть и сделал немного по-другому - все равно помогли и навели на правильные мысли))
Кому надо, вот скрипт:

Folder = "C:\Users\MiNotebook\Desktop\Otchet "

Set FSO = CreateObject("Scripting.FileSystemO bject")
Set oFiles = FSO.GetFolder(Folder).Files
If oFiles.Count <> 2 Then WSH.Quit
For Each F In oFiles
S = S & vbCrLf & F.OpenAsTextStream(1).ReadAll
Next
FSO.CreateTextFile(FSO.BuildPath(Fo lder, "Output.csv"), 1).Write Mid(S, 3)
Set oFiles = Nothing: Set FSO = Nothing
Romancobran вне форума Ответить с цитированием
Старый 12.04.2020, 23:46   #13
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

И чем это отличается от copy *.csv 1.csv ? Лучше правда copy /b *.csv 1.csv
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 12.04.2020, 23:47   #14
Romancobran
Пользователь
 
Регистрация: 10.04.2020
Сообщений: 23
По умолчанию

Ребята, все получилось. Спасибо!
Один только вопрос остался.
Итак, на листе имеется порядка тысячи ячеек, в каждой из которых киллометровая =счётеслимн, которая осуществляет подсчтёт по 27 диапазонам ( столбцы сверху вниз доупора, потому что файл будет расширяться со временем), ссылаясь на технический лист, куда вкладывается сырая отчётность. по каждому столбцу есть несколько критериев по поиску в этой формуле. таким образом каждая ячейка грубо говоря 27 раз проходит вниз по ячейкам столбца (а строк миллион), чтобы найти и посчитать нужные значения. В итоге - я грешу именно на это. И вот вопрос: Предположим, что в обозримом будущем мне понадобится всего 10 тысяч строк, как мне к чертям снести остальные 990.000 тысяч строк? Не СКРЫТЬ, не СГРУППИРОВАТЬ, а именно вообще чтобы их не было на листе, что позволит избежать излишней математики?
З.Ы - не нужно только советовать ограничить критерий поиска в каждой формуле по столбцу до 10тысячной ячейки. Во-первых, я сойду с ума исправлять формулы, они не одинаковые. Во-вторых, файл будет расширяться, в один момент когда я пробью 10 тысяч ячеек вниз, следующие он перестанет считать и об этом можно ненароком забыть)
Надеюсь написал понятно!
Заранее спасибо откликнувшимся !)
Romancobran вне форума Ответить с цитированием
Старый 12.04.2020, 23:49   #15
Romancobran
Пользователь
 
Регистрация: 10.04.2020
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
И чем это отличается от copy *.csv 1.csv ? Лучше правда copy /b *.csv 1.csv
да, наверное, особо ничем.
Я же говорил, я валенок в этих ваших программистских штуках))
Просто этот скрипт не выдает ошибок у меня, наверное чистый рандом)
В том, что ваш скрипт работает - уверен на 100%, просто он в правильных руках работает, а в моих неправильных - нет ))
Romancobran вне форума Ответить с цитированием
Старый 13.04.2020, 11:45   #16
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Удалить строки невозможно.
Но я подозреваю что формулы не должны просматривать неиспользуемые ячейки, я в своих UDF делаю именно так (просматриваю только использованную область). Надеюсь и разработчики формул про это помнят.
Но не поручусь, не тестил...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.04.2020, 16:16   #17
Romancobran
Пользователь
 
Регистрация: 10.04.2020
Сообщений: 23
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Удалить строки невозможно.
Но я подозреваю что формулы не должны просматривать неиспользуемые ячейки, я в своих UDF делаю именно так (просматриваю только использованную область). Надеюсь и разработчики формул про это помнят.
Но не поручусь, не тестил...
Да, уже понял, что невозможно. Диапазон блин динамический , так что статично его зафиксировать, что я как раз уже сделал - это только временное решение, потому что однажды он перевалит за него. Хотя, тут я нашел другое решение - не держать в файле исторические данные базы и оставлять только актуальные, что тоже вариант, но заставляет при преобразовании двух файлов сырого отчёта в один ставить фильтр по датам, оставлять тот же апрель, а предыдущие месяца удалять. Либо это делать макросом, но это уже другая история , потому что во-первых - такой макрос в vba я не напишу, а во-вторых, придется каждый месяц его редачить и менять переменную месяца ( это мне было бы под силу) ))
Romancobran вне форума Ответить с цитированием
Старый 01.06.2020, 21:08   #18
Romancobran
Пользователь
 
Регистрация: 10.04.2020
Сообщений: 23
По умолчанию

Hugo121,

Приветствую снова!

И снова прошу помощи у вас по скрипту . Пользовался я вашими советами, но вот с чем столкнулся.
Не получается у меня скорректировать скрипт VBS таким образом, чтобы он съедал не .csv, а .xlsx .

Код:
Folder = "C:\Users\MiNotebook\Desktop\Otchet"
 
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFiles = FSO.GetFolder(Folder).Files
If oFiles.Count <> 2 Then WSH.Quit
For Each F In oFiles
   S = S & vbCrLf & F.OpenAsTextStream(1).ReadAll
Next
FSO.CreateTextFile(FSO.BuildPath(Folder, "Output.csv"), 1).Write Mid(S, 3)
Set oFiles = Nothing: Set FSO = Nothing
Долго я гуглил, но так и не смог разобраться. Подскажите, пожалуйста, что исправить в этом коде, чтобы по всем тем же условиям склеить .xlsx ?

Заранее спасибо!)
Romancobran вне форума Ответить с цитированием
Старый 02.06.2020, 00:16   #19
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Добрый день.
Ответ - ничего, выкинуть и писать другой.
Потому что csv - это текст!
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 02.06.2020, 09:57   #20
Romancobran
Пользователь
 
Регистрация: 10.04.2020
Сообщений: 23
По умолчанию

Hugo121, Понял, подозревал, что так и есть, но надежда умирает последней))
пробовал через батник таким образом, но почему то файл создается общим весом, как все файлы из директории, но информация в документе на выходе только от одного из файлов, которые вроде бы склеились, а вроде бы и нет))
Код:
set CWD=%cd%
type *.xlsx > Output.xlsx
Romancobran вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Склейка скрипта vbs с другой adninistraotr Безопасность, Шифрование 0 26.02.2020 18:55
Склейка таблиц Varabei SQL, базы данных 5 26.01.2015 13:01
Склейка страниц .htaccess Дима я PHP 0 24.05.2014 13:25
.htaccess склейка адресов hon PHP 0 03.04.2013 22:46
Связь с кучей dbf файлов (таблиц) через OLEDB через UNION ALL Sasha811 SQL, базы данных 0 01.01.2009 14:04