Андрей Лящук в этом сообщении показал пример сортировки через Power Shell, но я не могу никак разобраться с синтаксисом, поэтому сформулирую ряд вопросов:
• как отсортировать одномерный массив от нуля (числа/текст/числа, текст, даты и т.д.)? • как отсортировать двумерный массив или 2 одномерных массива (значения и индексы) параллельно, чтобы по индексам потом отсортировать двумерный массив? • как (и можно ли) подключить Power Shell через раннее связывание
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
В PowerShell встроена хорошая справка и примеры Наберите: To see the examples, type: "get-help Sort-Object -examples". For more information, type: "get-help Sort-Object -detailed". For technical information, type: "get-help Sort-Object -full". For online help, type: "get-help Sort-Object -online"
DrillPipe, спасибо за отклик! Это разве код для VBA? Что-то не похоже… Простите, если не прав, но можете ли вы показать мини-процедурку именно для VBA?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous, Алексей привет. Ну в примере тот что показал Андрей, это просто набор команд которые передают результат через трубу. | - как раз означает что передаем результат предыдущей команды следующей . Особенность в том что передаются объекты, с их свойствами. Но все ж это хоть и очень мощный , но все ж скрипт, и я что-то не помню чтоб у него был COM к которому можно подключится и выполнять команды, да и передать информацию в него не просто.
БМВ, привет, Миш)) Лано - что COM нет понял, ну а как-то сортировать можно же?)) Через Shell, например или как-то ещё?…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
БМВ: делать промежуточный файл заставить его его скушать и выплюнуть результат?
ну да — звучит не очень, как подумаю, сколько проверок делать… Спасибо!
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous, Обычно PoSH использую для копирования файлов в фоновом режиме
Задачу с сортировкой только через скрипт Сейчас обязательно нужно, что бы были активными книга и лист, где находится диапазон для сортировки
Можно и просто скрипт запустить и отработать с любым открытым файлом с параметрами C:\ You path \Excel_Sort.ps1 -WorkbookName testVBA.xlsm -WorksheetName Sheet1 -InRangeR1C1 table -OutRangeR1C1 F1 -Sort "1 0 1"
без параметров, тогда в консоли будут запросы для их ввода, параметр Sort обязательно вводить как строку c " " C:\ You path \Excel_Sort.ps1
Скрипт требует доработки. Для VBA-шников думаю не трудно будет допилить скрипт PowerShell для полной автоматизации (сделать активной книгу и лист из параметров запуска) - свойства объектов соответсвуют VBA
Цитата
БМВ написал: а что поlfвать то ему на стол, чем кормить
Теоретически можно копировать в буфер обмена в VBA диапазон и загонять в объект через него Но в буфер обмена поступает строка, дальше много манипуляций нужно делать
DrillPipe, благодарю, но что-то мне уже не нравится эта идея
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Jack Famous, В предыдущем вложении скрипт для powershell сделан с учетом создания объекта Excel - GetActiveObject('Excel.Application') и соответственно всеми доступными для открытого приложения Excel свойствами и методами которые применимы в VBA Но наверное есть другие простые способы сортировать списки в Excel (например таже объектная модель Access)