Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 2.02 Добавлены файловые операции (чтение запись в текстовый файл)

Страниц (12): В начало « ... 4 5 6 7 8 9 10 [11] 12 »
 

101. Zireael - 13 Февраля, 2021 - 16:22:53 - перейти к сообщению
CODE:
if (createpipeprocess("powershell.exe -NoLogo")))
{
_sendpipe("Set-ExecutionPolicy Unrestricted -Force");
_sendpipe("$Excel = New-Object -ComObject Excel.Application");
_sendpipe("$Excel.Visible = $True"); // если false окно не будет отображаться
_sendpipe("$WorkBook = $Excel.Workbooks.Add()");
_sendpipe("$LogiclDisk = $WorkBook.Worksheets.Item(1)");
_sendpipe("$LogiclDisk.Name = ^'Local Disk^'");
_sendpipe("$LogiclDisk.Cells.Item(1,1) = ^'Text^'");
_sendpipe("$Excel.DisplayAlerts=$False");
_sendpipe("$WorkBook.SaveAs(^'D:\MyExcel.xlsx^')");
_sendpipe("$WorkBook.Close()");
_sendpipe("$Excel.Quit()");

closepipeprocess();
}


function _sendpipe(string command)
{
string S;
sendpipe(command+"^n");
waitpipe();
getpipe(#S);
}
102. Kibor - 13 Февраля, 2021 - 16:36:55 - перейти к сообщению
Ни каких специальных настроек в винде не производили?

Зависает в Киборе после отправления первой команды
CODE:
Set-ExecutionPolicy Unrestricted -Force

Кибор от админа запущен.

Скрипт сам по себе в среде выполняется нормально.
(Добавление)
Если убрать скрытие заголовка. то зависает после второй.
Кроме банера powershell ничего не хочет давать, так как ничего наверно не воспринимает и не выполняет..
103. Zireael - 13 Февраля, 2021 - 16:44:22 - перейти к сообщению
 Цитата:
Ни каких специальных настроек в винде не производили?

Win10, powershell добавлен в исключения защитника windows.
104. Kibor - 13 Февраля, 2021 - 16:54:32 - перейти к сообщению
Добавил в защитник 7 powershell и кибор. Ничего не дало.. Не работает.. Так же зависает. Кроме банера ничего не отдает, если его не отключать..
105. Kibor - 14 Февраля, 2021 - 02:11:07 - перейти к сообщению
Рабочий пример

Короче так удалось запустить.
Если передавать в виде параметра.
Правда Excel процесс не завешается. Потом разберусь.


 Цитата:
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
$WorkBook = $Excel.Workbooks.Add()
$LogiclDisk =$WorkBook.Worksheets.Item(1)
$LogiclDisk.Name = 'Логические диски'
$LogiclDisk.Cells.Item(1,1) = 'Буква диска'
$WorkBook.SaveAs('C:\Bot\1\Report.xlsx')
$Excel.Quit()
echo 1



echo 1
надо что бы waitpipe(); дождалась вывода.




CODE:
string A="$Excel = New-Object -ComObject Excel.Application;$Excel.Visible = $false;$WorkBook = $Excel.Workbooks.Add();$LogiclDisk =$WorkBook.Worksheets.Item(1);$LogiclDisk.Name = ^'Логические диски^';$LogiclDisk.Cells.Item(1,1) = ^'Буква диска^';$WorkBook.SaveAs(^'C:\Bot\1\Report.xlsx^');$Excel.Quit();echo 1;";
if (createpipeprocess("powershell.exe -Command ^""+A+"^""))
{
waitpipe();
closepipeprocess();
}
106. Zireael - 14 Февраля, 2021 - 02:33:58 - перейти к сообщению
 Цитата:
Правда Excel процесс не завешается.

В конец скрипта добавить удаление объектов:
CODE:
[Runtime.Interopservices.Marshal]::ReleaseComObject($Excel) | Out-Null
Remove-Variable WorkBook, LogiclDisk, Excel
[GC]::Collect()

Русские символы надо отправлять в кодировке CP866 иначе будут кракозябры в excel.
Конвертировать можно через CharToOemA.
107. Kibor - 14 Февраля, 2021 - 02:44:28 - перейти к сообщению
 Zireael пишет:
В конец скрипта добавить удаление объектов:

Хорошо теперь

 Цитата:
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
$WorkBook = $Excel.Workbooks.Add()
$LogiclDisk =$WorkBook.Worksheets.Item(1)
$LogiclDisk.Name = 'Логические диски'
$LogiclDisk.Cells.Item(1,1) = 'Буква диска'
$WorkBook.SaveAs('C:\Bot\1\Report.xlsx')
$Excel.Quit()
[Runtime.Interopservices.Marshal]::ReleaseComObject($Excel) | Out-Null;
Remove-Variable WorkBook, LogiclDisk, Excel;
[GC]::Collect();
echo 1


CODE:
string A="$Excel = New-Object -ComObject Excel.Application;$Excel.Visible = $false;$WorkBook = $Excel.Workbooks.Add();$LogiclDisk =$WorkBook.Worksheets.Item(1);$LogiclDisk.Name = ^'Логические диски^';$LogiclDisk.Cells.Item(1,1) = ^'Буква диска^';$WorkBook.SaveAs(^'C:\Bot\1\Report.xlsx^');$Excel.Quit();[Runtime.Interopservices.Marshal]::ReleaseComObject($Excel) | Out-Null;Remove-Variable WorkBook, LogiclDisk, Excel;[GC]::Collect();echo 1;";
if (createpipeprocess("powershell.exe -Command ^""+A+"^""))
{
waitpipe();
closepipeprocess();
}


 Zireael пишет:
Русские символы надо отправлять в кодировке CP866 иначе будут кракозябры в excel.

Таким способом нормально отображаются и сохраняются в файле.
108. Zireael - 14 Февраля, 2021 - 02:48:23 - перейти к сообщению
 Цитата:
Русские символы надо отправлять в кодировке CP866 иначе будут кракозябры в excel.
Таким способом нормально отображаются и сохраняются в файле.

Таким да, если отправлять через sendpipe, то будут кракозябры.
109. konctantin777 - 19 Февраля, 2021 - 10:18:37 - перейти к сообщению
Здравствуйте. Как печатать ТАб ? Пишу в блокнот, чтобы по столбцам в эксель нормально переносилось, надо разделитель "таб" делать
CODE:
if (fopen ("D:\111\111.txt", "a")!=0)
{//если открылся
fwrite(text_KIB);fwrite (";");fwrite(Text[0]);fwrite (";");fwrite(Text[1]);fwrite (";");fwrite(Text[2]);fwrite (";");fwrite(Text[3]);fwrite (";");fwrite(Text[4]);fwrite (";");
fwrite(ENDL);//записываем в файл перевод строки
fwrite("----------------------------------------------");
fwrite(ENDL);//записываем в файл перевод строки
fclose();//закрываем файл
}
110. Zireael - 19 Февраля, 2021 - 17:22:11 - перейти к сообщению
 Цитата:
Как печатать ТАб ?

CODE:
messagebox("123"+formatic(9)+"qwerty");
messagebox("123^tqwerty");

Powered by ExBB FM 1.0 Final