connect_by_hwnd

connect_by_hwnd(hwnd, path_alias, timeout=3000)

Данная команда позволяет подключиться к уже открытому excel.

Команда на вход принимает параметры:
  • hwnd – дескриптор окна
  • path_alias
  • timeout – таймаут операции (по умолчанию равен 3000 секунд)
После отработки команда возвращает результат своей работы в робот:
  • true - успешно подключились
  • false - подключиться не удалось



Примеры использования (php)

<?php $xhe_host = "127.0.0.1:7010";
 
// подключим функциональные объекты, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>excelfile->".basename (__FILE__)."</font><hr>";
 
// путь к файлу
$path="test\\test.xlsx";
$excel->kill();
 
$app->shell_execute("open",$path);
sleep(5);
 
$hwnd = $window->get_by_class("XLMAIN",true,false)->get_hwnd();
$path_alias="@doc1";
 
// 1 
echo("\n1. Откроем : ");
echo($excel->connect_by_hwnd($hwnd,$path_alias));
 
echo "\n";
echo $rows= $excel->get_rows_count($path_alias,0);
echo "\n";
echo $cols= $excel->get_cols_count($path_alias,0);
 
// 2
echo("\n2. Выведем все ячейки : ");
for ($i=1;$i<=$rows;$i++)
{
	for ($j=1;$j<=$cols; $j++)
		echo $excel->get_cell($path_alias,0,$i,$j)."|";
	echo "\n";
}
 
// 3
echo("\n3. Закроем : ");
echo($excel->close($path_alias));
 
// конец
echo "<hr><br>";
 
// Quit
$app->quit();
?>

Примеры использования (cs)

#region using
 
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Threading;
 
using XHE;
using XHE.XHE_DOM;
using XHE.XHE_System;
using XHE.XHE_Window;
using XHE.XHE_Web;
 
#endregion
 
 class Program:XHEScript
 {
	  static void Main(string[] args)
	  {
			// init XHE
			server="127.0.0.1:7010";
			InitXHE();
 
			// начало
			echo("<hr><font color=blue>excelfile.set_sheet_name</font><hr>");
 
			excel.kill();
			var path = "test/test.xlsx";
 
			app.shell_execute("open",path);
			sleep(5);
 
			var alias_path="@doc1";
			var hwnd = window.get_by_class("XLMAIN",true,false).get_hwnd();
 
			excel.connect_by_hwnd(hwnd,alias_path);
 
			// 1
			echo("1. Получить содержимое ячейки  : ");
			echo(excel.get_cell(alias_path,0,1,"3"));
 
			// 2
			echo("\n2. Задать содержимое ячейки  : ");
			echo(excel.set_cell(alias_path,0,1,"3","new"));
 
			// 3
			echo("\n3. Получить содержимое ячейки  : ");
			echo(excel.get_cell(alias_path,0,1,"3"));
 
			excel.close(alias_path);
 
			// конец
			echo("<hr><br>");
 
			app.quit();            
	  }
}

Примеры использования (js)

xhe_host="127.0.0.1:7010";
echo=require("../../../Templates JS/init.js");
 
// начало
echo("<hr><font color=blue>excelfile.get_cell</font><hr>");
 
// путь к файлу
var path="test\\test.xlsx";
excel.kill();
 
app.shell_execute("open",path);
app.sleep(5);
 
var alias_path="@doc1";
var hwnd = window.get_by_class("XLMAIN",true,false).get_hwnd();
 
// 1 
echo("\n1. Откроем : ");
echo(excel.connect_by_hwnd(hwnd,alias_path));
 
var rows= excel.get_rows_count(alias_path,0);
var cols= excel.get_cols_count(alias_path,0);
 
// 2
echo("\n2. Выведем все ячейки : ");
for (var i=1;i<=rows;i++)
{
	for (var j=1;j<=cols; j++)
		echo(excel.get_cell(alias_path,0,i,j)+"|");
	echo("\n");
}
 
// 3
echo("\n3. Закроем : ");
echo(excel.close(alias_path));
 
// конец
echo("<hr><br>");
 
// Quit
app.quit();

Примеры использования (py)

# Additional paths
import sys
sys.path.insert(0, '../../../Templates PY/')
 
xhe_host = "127.0.0.1:7010"
from xweb_human_emulator import *
 
# начало
echo("<hr><font color=blue>excelfile.set_sheet_name</font><hr>")
 
# путь к файлу
path="test\\test.xlsx";
excel.kill();
 
app.shell_execute("open",path)
sleep(5);
 
alias_path="@doc1";
hwnd = window.get_by_class("XLMAIN",true,false).get_hwnd();
 
# 1 
echo("\n1. Откроем : ");
echo(excel.connect_by_hwnd(hwnd,alias_path));
 
rows= excel.get_rows_count(alias_path,0);
cols= excel.get_cols_count(alias_path,0);
 
# 2
echo("\n2. Выведем все ячейки : ");
for i in range(0, rows):
	for j in range(0, cols):
		echo(excel.get_cell(alias_path,0,i,j)+"|");
	echo("\n");
 
# 3
echo("\n3. Закроем : ");
echo(excel.close(alias_path));
 
# конец
echo("<hr><br>")
 
# Quit
app.quit()