Недавние сообщения

Страницы: 1 ... 8 9 [10]
91
Стол заказов / Re: Как игнорировать сообщение об ошибки и продолжить работу скрипта
« Последний ответ от ra4o Отправлен Декабрь 09, 2018, 02:03:09 »
Вот, что я имел в виду :
Код: AutoIt [Выделить]
$oExcel=_Excel_Open()
$oBook=_Excel_BookAttach(@ScriptDir & "\1.xls")
$oBook.Application.Run("test")
 

Или ещё проще :
Код: AutoIt [Выделить]
$oExcel=_Excel_Open()
$oExcel.Run("test")

92
Стол заказов / Re: Как игнорировать сообщение об ошибки и продолжить работу скрипта
« Последний ответ от Grell Отправлен Декабрь 09, 2018, 01:42:06 »
ra4o, поставил строку $oExcel=_Excel_Open()
По-прежнему скрипт выдает окно с той же ошибкой.
93
Стол заказов / Re: Как игнорировать сообщение об ошибки и продолжить работу скрипта
« Последний ответ от ra4o Отправлен Декабрь 09, 2018, 01:34:12 »
Цитировать
Насчет $oExcel=_Excel_Open()  - то файл xls уже открыт на момент запуска скрипта - и по-новой открывать его не надо
_Excel_Open() - Подключается к существующему экземпляру Excel или создает новый
94
А что у Вас в "$LogPath" ?
В $LogPath, например, "C:\Folder\" - ничего особенного.


Добавлено: Декабрь 09, 2018, 01:55:28
...
Спасибо большое за скрипт!
Вынул $LogPath из GetFileNumber($LogPath), получив GetFileNumber(), и тогда в моём скрипте всё заработало.
Но всё-таки хотел бы получить разъяснение того, что в моей функции неправильно,
почему сравнение в IF не даёт ожидаемого результата.
95
От имени всего Русского сообщества AutoIt поздравляем Вас Charlesrit, ShonSpawnPr, RichhardHoupt, Annakig, GrettaBoymn, Josephdaw, Makarduave, incirm, Isaachaddy, ConDiosbresy, Jamesmub, marinaDaG, RoyalIntecy, Stevendit, HaroldMef, JohannaaLed с днём рождения!



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

Здоровье будет крепкое,
В делах всегда согласие,
Любовь навеки верная —
Без ссор и разногласия.

Зарплата только вовремя,
Стабильная, высокая.
Работа будет лёгкая
И не совсем далёкая.

Пусть жизнь Вам дарит самые
Прекрасные мгновения.
Желаем только радости
И счастья, с днем рождения!
96
Стол заказов / Re: Как игнорировать сообщение об ошибки и продолжить работу скрипта
« Последний ответ от Grell Отправлен Декабрь 09, 2018, 00:02:56 »
ra4o  [?]
Цитировать
В таком случае уберите строку "$oExcel.Run("test")" на которую он ругается.
А как же тогда скрипт - будет макрос из экселя запускать ?



Добавлено: Декабрь 09, 2018, 00:04:19
ra4o  [?]
Цитировать
Может не нужен макрос , а всё напишите на AutoIt ?
Так вот AutoIt и дает команду - на запуск макроса из экселя.
97
Код: AutoIt [Выделить]
GetFileNumber(@ScriptDir & '\')

Func GetFileNumber($LogPath)
    For $i3 = 1 To 999
        $FileNumber = StringFormat('%03s', $i3)
        $File = $LogPath & $FileNumber & "-*.txt"
        MsgBox($MB_SYSTEMMODAL, VarGetType($FileNumber), "2: " & $File)
       
        If Not FileExists($File) Then
            MsgBox($MB_SYSTEMMODAL, "", "3: " & $FileNumber)
            Return $FileNumber
        EndIf
    Next
EndFunc   ;==>GetFileNumber

98
А что у Вас в "$LogPath" ?
99
Стол заказов / Re: Как игнорировать сообщение об ошибки и продолжить работу скрипта
« Последний ответ от ra4o Отправлен Декабрь 08, 2018, 23:40:11 »
Цитировать
Ну так скрипт - прекрасно выполняет свою задачу именно в экселе.
В таком случае уберите строку "$oExcel.Run("test")" на которую он ругается.
Цитировать
Он запускает экселевский макрос из экселя.
Каким образом он это делает ?
Может не нужен макрос , а всё напишите на AutoIt ?
100
Добрый день, форум!
Прошу помощи по работе функции.
Есть скрипт, а в нём функция, проверяющая наличие файла с конкретным номером от 001 до 999 по шаблону типа [001]*.txt:
Код: AutoIt [Выделить]
Func GetFileNumber()
For $i3 = 1 To 999 Step 1
$FileNumber = $i3
MsgBox($MB_SYSTEMMODAL, "", "1: " & $FileNumber)
If $FileNumber < 10 Then
$FileNumber = "00" & $FileNumber
EndIf
If $FileNumber > 9 And $FileNumber < 100 Then
$FileNumber = "0" & $FileNumber
EndIf
$File = $LogPath & $FileNumber & "-" & "*" & ".txt"
MsgBox($MB_SYSTEMMODAL, "", "2: " & $File)
If FileExists ($File) == 0 Then
MsgBox($MB_SYSTEMMODAL, "", "3: " & $FileNumber)
Return $FileNumber
ExitLoop
EndIf
Next
EndFunc ; GetFileNumber
 

$FileNumber объявлен Local в скрипте.
В указанной выше функции MsgBox вставлены мною только для контроля результатов в рамках отладки.
Так вот мне не понятно, почему "MsgBox 2:" выдаёт аж 3 нуля в номере, тогда как после сравнения "<10"
к номеру должны быть добавлены только два буферных нуля, а второе условие не выполняется и третий ноль
добавлен быть не может.
Пожалуйста, помогите разобраться!
Страницы: 1 ... 8 9 [10]