![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Запуск файлов и их сохранение |
|
Запуск файлов и их сохранение
|
Ветеран Сообщения: 2756 |
Суть в следующем. Есть папка с кучей файлов excel. Мне необходимо чтобы скрипт, находясь в папке на уровень выше, запустил все файлы excel в указанной папке, и просто их сохранил и закрыл. И так по порядку все файлы. Имена файлов произвольны и количество тоже. Спасибо.
|
|
------- Отправлено: 23:28, 16-06-2010 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата Pozia:
#include <Array.au3> $aExcel = _FileSearch(@ScriptDir, '*.xlsx', 1) _ArrayDisplay($aExcel) Func _FileSearch($sPath, $sFileMask = '*', $iFlag = 0, $iSubdir = 1) ;фильтры для поиска нужно указывать через ; ;$iFlag = 0 - Файлы и папки (по умолчанию) ;$iFlag = 1 - Только файлы ;$iFlag = 2 - Только папки ;$iSubdir = 1 - Искать во всех подкаталогах (по умолчанию). Возвращает полные пути. ;$iSubdir = 0 - Искать только в самой папке. Возвращает только имена файлов(папок). Local $sOutBin, $sOut, $aOut, $sRead, $hDir, $sAttrib, $sSubdir, $aMasks If StringRight($sPath, 1) == '\' Then $sPath = StringTrimRight($sPath, 1) EndIf If $iSubdir Then $sSubdir = ' /S /B' Else $sSubdir = ' /B' EndIf Switch $iFlag Case 1 $sAttrib = ' /A-D' Case 2 $sAttrib = ' /AD' Case Else $sAttrib = ' /A' EndSwitch $sOut = StringToBinary('0' & @CRLF, 2) $aMasks = StringSplit($sFileMask, ';') For $i = 1 To $aMasks[0] $hDir = Run(@ComSpec & ' /U /C DIR "' & $sPath & '\' & $aMasks[$i] & '"' & $sSubdir & $sAttrib, @SystemDir, @SW_HIDE, 6) While 1 $sRead = StdoutRead($hDir, False, True) If @error Then ExitLoop EndIf If $sRead <> "" Then $sOut &= $sRead EndIf Sleep(2) WEnd Next $aOut = StringRegExp(BinaryToString($sOut, 2), '[^\r\n]+', 3) If @error Then Return SetError(1) EndIf $aOut[0] = UBound($aOut) - 1 Return $aOut EndFunc ;==>_FileSearch |
|
Отправлено: 20:13, 05-04-2011 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать madmasles, что то я не допру как этим добром пользоваться. Запустил, нашлись мои эксели. Выбрал. Нажал внизу кнопку. И ничего...
|
------- Отправлено: 20:54, 05-04-2011 | #12 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата Pozia:
;... If $aExcel[0] Then For $i = 1 To $aExcel[0] $sFile = $aExcel[$i] $oExcel = ObjCreate('Excel.Application'); Запускаем экземпляр Excel $oExcel.AskToUpdateLinks = False $oExcel.WorkBooks.Open($sFile); Открываем файл Excel'ем $oExcel.ActiveWorkBook.UpdateLinks; Обновляем ссылки $oExcel.ActiveWorkBook.Save; Сохраняем файл $oExcel.Application.Quit; Выходим из Excel $oExcel = 0; Освобождаем переменную Next Else MsgBox(16, 'Error', 'Нет файлов') EndIf |
|
Последний раз редактировалось madmasles, 05-04-2011 в 21:37. Отправлено: 21:16, 05-04-2011 | #13 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать madmasles, мне идея со списком ваша понравилась. А могли бы вы подправить так, чтобы я в списке выбирал какие файлы сохранить?
|
------- Отправлено: 21:24, 05-04-2011 | #14 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата Pozia:
|
|
Отправлено: 21:51, 05-04-2011 | #15 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Pozia,
То, что у меня получилось, в прикрепленном архиве. Вроде работает, проверял на Windows XP SP3 32 и Windows 7 SP1 32, Office 2003. Пытался написать здесь, но ругается, говорит, что слишком много символов. ![]() PS Не надо, я добавил функцию на проверку версии, должно само определить. Добавил вариант (3_Excel.7z) с возможностью изменения папки поиска файлов. |
Последний раз редактировалось madmasles, 13-08-2011 в 14:30. Отправлено: 19:27, 06-04-2011 | #16 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать madmasles, при попытке скомпилировать выскакивает ошибка на winAPIE.au3. типа не может открыть. Это какая то добавка которой у меня нет?
|
------- Отправлено: 21:32, 06-04-2011 | #17 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:37, 06-04-2011 | #18 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать madmasles, разобрался. Клева работает. Спасибо за помощь. Очень упростили мои мучения. По ходу юзания появилась еще хотелка. Если не сложно, сделайте вверху над всеми птичками еще одну общую птичку, которой можно было бы снять со всего или на все повесить. Если файлов много, а нужно выбрать несколько, то так будет удобнее. И если это возможно, сделайте возможность сортировки если нажимать вверху по Имя файла или Папка файла. Спасибо!!!
|
------- Отправлено: 21:42, 06-04-2011 | #19 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Pozia,
Птичку сделал, сортировку добавил, только не по нажиманию по заголовку ListView, а перед заполнением таблицы. |
Последний раз редактировалось madmasles, 13-08-2011 в 14:30. Отправлено: 22:06, 06-04-2011 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Сохранение графических файлов | umnik | Хочу все знать | 4 | 29-11-2010 15:23 | |
Запрет на сохранение файлов вне профиля. | sinchro | Microsoft Windows NT/2000/2003 | 8 | 16-11-2007 12:11 | |
Сохранение файлов и папок с HTML | ksan | Microsoft Windows 2000/XP | 1 | 11-03-2007 03:35 | |
Сохранение файлов | Kasper | Microsoft Windows NT/2000/2003 | 7 | 18-10-2003 03:06 | |
Сохранение файлов из Интернета | SL | Microsoft Windows 2000/XP | 6 | 03-06-2003 20:54 |
|