|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Запуск файлов и их сохранение |
|
Запуск файлов и их сохранение
|
Ветеран Сообщения: 2756 |
Суть в следующем. Есть папка с кучей файлов excel. Мне необходимо чтобы скрипт, находясь в папке на уровень выше, запустил все файлы excel в указанной папке, и просто их сохранил и закрыл. И так по порядку все файлы. Имена файлов произвольны и количество тоже. Спасибо.
|
|
------- Отправлено: 23:28, 16-06-2010 |
![]() Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать #include <file.au3> $sTarFolder = 'Excel'; Название папки с Excel файлами $sTarPath = @ScriptDir & '\' & $sTarFolder $aExcelFiles = _FileListToArray($sTarPath, '*.xls', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles[0] $sFile = $sTarPath & '\' & $aExcelFiles[$i] $oExcel = ObjCreate('Excel.Application'); Запускаем экземпляр Excel $oExcel.WorkBooks.Open($sFile); Открываем файл Excel'ем $oExcel.ActiveWorkBook.Save; Сохраняем файл $oExcel.Application.Quit; Выходим из Excel $oExcel = 0; Освобождаем переменную Next |
------- Отправлено: 00:52, 17-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать ;~ AutoIt Version: 3.3.6.0 #include <Excel.au3> OnAutoItExitRegister('_ExitScr') Global $DIR_LOAD_FILE = @ScriptDir & '\Xls' Global $DIR_SAVE_FILE = @ScriptDir & '\Save' DirCreate($DIR_SAVE_FILE) $iSearch = FileFindFirstFile($DIR_LOAD_FILE & '\*.xls') If (@error) Then Exit While 1 $iFile = FileFindNextFile($iSearch) If @error Then ExitLoop ConsoleWrite($DIR_LOAD_FILE & '\' & $iFile & @CRLF) $oExcel = _ExcelBookOpen($DIR_LOAD_FILE & '\' & $iFile) If Not (@error) Then _ExcelBookSaveAs($oExcel, $DIR_SAVE_FILE & '\' & $iFile, 'xls') _ExcelBookClose($oExcel) WEnd Func _ExitScr() FileClose($iSearch) EndFunc ;==>_ExitScr |
Отправлено: 00:53, 17-06-2010 | #3 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать kaster, а как еще сделать чтобы скрипт нажимал кнопку "Обновить", которая возникает при запуске файла? Фото прилагаю
|
------- Последний раз редактировалось Pozia, 22-11-2010 в 23:28. Отправлено: 20:02, 17-06-2010 | #4 |
![]() Старожил Сообщения: 367
|
Профиль | Отправить PM | Цитировать Попробуй так
#include <file.au3> $sTarFolder = 'Excel'; Название папки с Excel файлами $sTarPath = @ScriptDir & '\' & $sTarFolder $aExcelFiles = _FileListToArray($sTarPath, '*.xls', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles[0] $sFile = $sTarPath & '\' & $aExcelFiles[$i] $oExcel = ObjCreate('Excel.Application'); Запускаем экземпляр Excel $oExcel.WorkBooks.Open($sFile); Открываем файл Excel'ем $oExcel.ActiveWorkBook.UpdateLinks; Обновляем ссылки $oExcel.ActiveWorkBook.Save; Сохраняем файл $oExcel.Application.Quit; Выходим из Excel $oExcel = 0; Освобождаем переменную Next |
|
------- Отправлено: 21:44, 17-06-2010 | #5 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать kaster, не обнавляется
|
------- Отправлено: 18:23, 20-06-2010 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Pozia, я бы попробовал так:
Цитата:
|
|
Отправлено: 22:37, 20-06-2010 | #7 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Iska, только сейчас появилась возможность проверить. Вроде помогло. Спсибо
|
------- Отправлено: 11:47, 14-08-2010 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Pozia, ясно. Спасибо, что отписались.
|
Отправлено: 13:36, 14-08-2010 | #9 |
Ветеран Сообщения: 2756
|
Профиль | Отправить PM | Цитировать Iska, вплотную сейчас работаю с этим скриптом. Надоедает его все время модифицировать. Теперь он у меня такой:
#include <file.au3> $sTarPath1 = @ScriptDir & '\Звездочка' $sTarPath2 = @ScriptDir & '\Муфта втулочно пальцевая\Параметры' $sTarPath3 = @ScriptDir & '\Муфта цепная\Параметры' $sTarPath4 = @ScriptDir & '\Редуктор\Параметры' $sTarPath5 = @ScriptDir & '\РМ_1' $sTarPath6 = @ScriptDir & '\Шкив' $sTarPath7 = @ScriptDir & '\Электродвигатель' $aExcelFiles1 = _FileListToArray($sTarPath1, '*.xlsx', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles1[0] $sFile = $sTarPath1 & '\' & $aExcelFiles1[$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 $aExcelFiles2 = _FileListToArray($sTarPath2, '*.xlsx', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles2[0] $sFile = $sTarPath2 & '\' & $aExcelFiles2[$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 $aExcelFiles3 = _FileListToArray($sTarPath3, '*.xlsx', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles3[0] $sFile = $sTarPath3 & '\' & $aExcelFiles3[$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 $aExcelFiles4 = _FileListToArray($sTarPath4, '*.xlsx', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles4[0] $sFile = $sTarPath4 & '\' & $aExcelFiles4[$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 $aExcelFiles5 = _FileListToArray($sTarPath5, '*.xlsx', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles5[0] $sFile = $sTarPath5 & '\' & $aExcelFiles5[$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 $aExcelFiles6 = _FileListToArray($sTarPath6, '*.xlsx', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles6[0] $sFile = $sTarPath6 & '\' & $aExcelFiles6[$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 $aExcelFiles7 = _FileListToArray($sTarPath7, '*.xlsx', 1); Фильтр на файлы xls. Если формат *.xlsx то ставим соответствующий фильтр For $i = 1 to $aExcelFiles7[0] $sFile = $sTarPath7 & '\' & $aExcelFiles7[$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 |
------- Отправлено: 19:05, 05-04-2011 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Сохранение графических файлов | 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 |
|