humanemulator.net — справка.
Продукт, демо и покупка — на
хуманэмулятор.рф
|
Демо
|
Купить
|
API
|
Changelog
connect_by_hwnd
connect_by_hwnd($hwnd,$path_alias,$timeout=3000); - Подключится к уже открытому документу в приложении WORD по HWNDpath_alias - любая строка, начинающаяся с @ - например "@doc1"
Функция на вход принимает параметры:
После выполнения функции возвращаемое значение будет равно одному из двух :
Пример использования
<?php // Scenario: Connect to a Word document by window handle and modify it $xhe_host = getenv("RPABOT_HOST_URL"); // Connect functional objects if not already connected if (!isset($path)){ $path = "../../../Templates/init.php"; require($path); } // info echo "\n<span >word->" . basename (__FILE__) . "</span>\n"; // Initialize variables $filePath = "test/test_create.docx"; $initialText = "новый текст"; $additionalText1 = " добавочный текст 1"; $additionalText2 = " добавочный текст в новом параграфе"; $windowClass = "_WwF"; $pathAlias = "@doc1"; $sleepTime = 5; // Kill any existing Word processes SYSTEM::$word->kill(); // Create a new Word document echo("Create docx file: "); $result = SYSTEM::$word->create($filePath, $initialText); if ($result) { echo("Successfully created document\n"); } else { echo("Failed to create document\n"); } // Open the document with shell execute WINDOW::$app->shell_execute("open", $filePath); sleep($sleepTime); // Example 1: Connect to the document by window handle (can visibled Word application) // Get window handle by class $hwnd = WINDOW::$window->get_by_class($windowClass, true, false)->get_hwnd(); echo("\n1. Connect to document by window handle: "); $result = SYSTEM::$word->connect_by_hwnd($hwnd, $pathAlias); if ($result) { echo("Successfully connected to document\n"); } else { echo("Failed to connect to document\n"); } // Add text to the document echo("\nAdd text to document: "); $result = SYSTEM::$word->add_text($pathAlias, $additionalText1); if ($result) { echo("Successfully added text\n"); } else { echo("Failed to add text\n"); } // Add text in a new paragraph echo("\nAdd text in new paragraph: "); $result = SYSTEM::$word->add_text($pathAlias, $additionalText2, true); if ($result) { echo("Successfully added text in new paragraph\n"); } else { echo("Failed to add text in new paragraph\n"); } // Get all text from the document echo("\nGet all text from document: \n"); $documentText = SYSTEM::$word->get_text($pathAlias); echo($documentText . "\n"); // Save the changes echo("\nSave changes to document: "); $result = SYSTEM::$word->save($pathAlias); if ($result) { echo("Successfully saved document\n"); } else { echo("Failed to save document\n"); } // Close the document echo("\nClose document: "); $result = SYSTEM::$word->close($pathAlias); if ($result) { echo("Successfully closed document\n"); } else { echo("Failed to close document\n"); } echo "\n"; // Quit the application WINDOW::$app->quit(); ?>
# 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>sound.xxxxxxxxx</font><hr>") path = "test\\test_create.docx"; word.kill(); # 1 echo("1. Создать docx файл : "); echo(word.create(path,"новый текст")); app.shell_execute("open",path); sleep(5); hwnd = window.get_by_class("_WwF",true,false).get_hwnd(); alias_path="@doc1"; # 2 echo("\n2. Откроем файл для изменения и работы с ним в памяти : "); echo(word.connect_by_hwnd(hwnd,alias_path)); # 3 echo("\n3. Добавим еще текста : "); echo(word.add_text(alias_path," добавочный текст 1")); # 4 echo("\n4. Добавим еще текста : "); echo(word.add_text(alias_path," добавочный текст в новом параграфе",true)); # 5 echo("\n5. Получим весь текст : \n"); echo(word.get_text(alias_path)); # 6 echo("\n6. Сохраним то что изменили : "); echo(word.save(alias_path)); # 7 echo("\n7. Закроем : "); echo(word.close(alias_path)); app.shell_execute("open",path); # конец echo("<hr><br>") # Quit app.quit()
#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 = Environment.GetEnvironmentVariable("RPABOT_HOST_URL"); InitXHE(); // начало echo("<hr><font color=blue>word.open</font><hr>"); var path = "test\\test_create.docx"; word.kill(); // 1 echo("1. Создать docx файл : "); echo(word.create(path,"новый текст")); app.shell_execute("open",path); sleep(5); var hwnd = window.get_by_class("_WwF",true,false).get_hwnd(); var alias_path="@doc1"; // 2 echo("\n2. Откроем файл для изменения и работы с ним в памяти : "); echo(word.connect_by_hwnd(hwnd,alias_path)); // 3 echo("\n3. Добавим еще текста : "); echo(word.add_text(alias_path," добавочный текст 1")); // 4 echo("\n4. Добавим еще текста : "); echo(word.add_text(alias_path," добавочный текст в новом параграфе",true)); // 5 echo("\n5. Получим весь текст : \n"); echo(word.get_text(alias_path)); // 6 echo("\n6. Сохраним то что изменили : "); echo(word.save(alias_path)); // 7 echo("\n7. Закроем : "); echo(word.close(alias_path)); app.shell_execute("open",path); // конец echo("\n\n"); app.quit(); } }
// подключим функциональные объекты, если еще не подключен xhe_host="127.0.0.1:7010"; echo=require("../../../Templates JS/init.js"); // начало echo("<hr><font color=blue>sound.beep</font><hr>"); var path = "test\\test_create.docx"; word.kill(); // 1 echo("1. Создать docx файл : "); echo(word.create(path,"новый текст")); app.shell_execute("open",path); app.sleep(5); var hwnd = window.get_by_class("_WwF",true,false).get_hwnd(); var alias_path="@doc1"; // 2 echo("\n2. Откроем файл для изменения и работы с ним в памяти : "); echo(word.connect_by_hwnd(hwnd,alias_path)); // 3 echo("\n3. Добавим еще текста : "); echo(word.add_text(alias_path," добавочный текст 1")); // 4 echo("\n4. Добавим еще текста : "); echo(word.add_text(alias_path," добавочный текст в новом параграфе",true)); // 5 echo("\n5. Получим весь текст : \n"); echo(word.get_text(alias_path)); // 6 echo("\n6. Сохраним то что изменили : "); echo(word.save(alias_path)); // 7 echo("\n7. Закроем : "); echo(word.close(alias_path)); app.shell_execute("open",path); // конец echo("\n"); // Quit app.quit();
=============================================
word Объекты DOM System Vision Web Window
=============================================
если что-то непонятно или необходимо узнать или считаете что надо добавить по работе этой функции, пишите в комментарии или на наш форум
.