RoboTask 对象的各外部脚本手册

包括py\nodejs\vb\js等

Python的 RoboTask 对象

Python 是区分大小写的,基础demo

TEXT

from robotask import *
rt = RoboTask()
print(rt.version)
print(rt.version['plain'])

基础的 Python 包不包含 Windows COM 对象支持模块。不过,你可以用支持pywin32的Python https://pbpython.com/windows-com.html 直接使用RoboTaskApp对象
Windows COM的demo:

TEXT

import win32com.client as win32
rt = win32.Dispatch('RoboTask.App')
print(rt.Version)
print(rt.TaskCount)

作用:创建RoboTask对象、输出版本号

以rt.连接:

task_count
作用:返回任务数量

expand_text(text)
作用:扩展包含 RoboTask 变量的字符串并返回该字符串
如:
rt.expand_text('Date and time now: {DateTimeToFormat({DateTime},yyyyy-mm-dd hh:nn:ss)}')

log(text)
作用:在用户消息模式下将指定文本输出到任务日志
log_info(text)
作用:在系统消息模式下输出指定的文本。
log_warning(text)
作用:以警告模式输出日志中指定的文本。
log_error(text)
作用:以错误消息模式将指定文本输出到任务日志

add_user_var(name, value)
作用:创建带有 NAME 名称和 VALUE 值的 RoboTask 变量
set_user_var(name, value)
作用:将 VALUE 设置为 RoboTask 变量,变量名为 NAME
del_user_var(name)
作用:删除名为NAME的RoboTask变量

task_info(num)
作用:通过编号或名称(外部名称)返回任务信息

current_task()
作用:返回当前任务的信息。结果与task_info方法完全相同,只是返回当前任务的信息

start_task(ext_name, params = '')
作用:通过数字或外部名称启动任务,将要启动任务的参数。默认是空字符串。参数可以设置为文本形式,每行一个参数

要使用参数运行任务,请使用表达式 demo

rt.start_task('TestParam', 'p1=Hello\np2=World\np3=Simple String')
rt.start_task('TestParam', {"p1":"Hello","p2":"World","p3":"Simple String"})
启动一个名为 TestParam 的任务,并传递三个参数:p1、p2 和 p3

stop_task(ext_name)
作用:以指定编号或外部名称停止任务,只发送停止任务的信号。当前正在进行的步骤完成后,任务将停止。

enable_task(ext_name)
作用:通过数字或外部名称更改任务状态为“启用”,并启动所有“启用”任务触发器

disable_task(ext_name)
作用:通过编号或外部名称将任务状态更改为“禁用”,并停止所有活跃的任务触发器。

service_mode
作用:返回RoboTask 是以服务模式(true)还是以应用模式(false)在运行

window_handle
作用:返回接收系统消息的RoboTask任务窗口句柄

JavaScript/node.js的 RoboTask 对象

JavaScript/node.js语言是区分大小写的

TEXT

const { RoboTask } = require('robotask')
const rt = new RoboTask()
rt.log('Hello world!').then(()=>rt.disconnect())

rt = RoboTask()
这一点与py一样 作用是创建RoboTask 对象

autoDisconnect
作用:几秒钟内暂停。自动断开RoboTask的超时。 0表示永久连接。在这种情况下,脚本只有执行 disconnect() 才能完成。默认是3秒。 当调用 RoboTask 对象的方法或属性时,连接是自动的。

connect()
作用:连接RoboTask
disconnect()
作用:断开RoboTask
connected
作用:只读属性返回RoboTask连接状态:真或假

log(text)
作用:在用户消息模式下将指定文本输出到任务日志。
logInfo(text)
作用:在系统消息模式下输出指定的文本。
logWarning(text)
作用:以警告模式输出日志中指定的文本。
logError(text)
作用:以错误消息模式将指定文本输出到任务日志

expandText(text)
作用:扩展包含 RoboTask 变量的字符串并返回该字符串 与py一模一样的
rt.expand_text('Date and time now: {DateTimeToFormat({DateTime},yyyyy-mm-dd hh:nn:ss)}')

addUserVar(name, value)
作用:创建带有 NAME 名称和 VALUE 值的 RoboTask 变量
setUserVar(name, value)
作用:将 VALUE 设置为 RoboTask 变量,变量名为 NAME
delUserVar(name)
作用:删除名为NAME的RoboTask变量

version
作用:返回带字段的RoboTask版本号

taskCount
作用:返回RoboTask中注册的任务数量

taskInfo(num)
作用:通过编号或名称(外部名称)返回任务信息
currentTask
作用:返回当前任务的信息。 结果与 taskInfo 方法完全相同,只是返回当前任务的信息

startTask(ext_name, params)
作用:通过数字或外部名称启动任务
runTask
作用:startTask 方法的别名
stopTask(ext_name)
作用:以指定编号或外部名称停止任务 只发送停止任务的信号。当前正在进行的步骤完成后,任务将停止
enableTask(ext_name)
作用:通过数字或外部名称更改任务状态为“启用”,并启动所有“启用”任务触发器
disableTask(ext_name)
作用:通过编号或外部名称将任务状态更改为“禁用”,并停止所有活跃的任务触发器

serviceMode
作用:返回RoboTask 是以服务模式(true)还是以应用模式(false)在运行

windowHandle
作用:返回接收系统消息的RoboTask任务窗口句柄

RoboTask 对象

https://www.neowise.com/robotask/help/robotaskappobject.htm
Python/JavaScript/Node.js
使用Python 脚本或JavaScript/Node.js 脚本时,请使用RoboTask对象。示例请参见
https://www.neowise.com/robotask/help/robotask_object_for_node_js.htm
https://www.neowise.com/robotask/help/robotask_object_for_python.htm

PowerShell 脚本操作不包含用于访问RoboTask函数的内置对象 。您必须在脚本中创建一个对象 ,并使用正确的线程 ID对其进行初始化
https://www.neowise.com/robotask/help/powershell_script.htm
Example of the script:

$rt = New-object -ComObject RoboTask.App

write-host $env:ROBOTASK_SCRIPT_ID

$rt.SetThreadId($env:ROBOTASK_SCRIPT_ID)
$rt.WriteToLog(0,"Hello",0)

如果要使用“运行控制台应用程序”或“运行程序/打开文档”操作来运行外部脚本,可以使用{TaskThreadId}变量获取任务的线程 ID,并通过环境变量、参数或文件将此值作为参数传递。

RoboTaskApp 对象 手册

运行或编辑脚本时无需创建 RoboTaskApp 对象。它会在脚本运行前创建,并在脚本内部作为全局对象使用。
您可以在外部脚本中使用它,只需将名称设为RoboTask.App即可。例如:

创建RoboTaskApp 对象(以下所有方法我猜测是针对vb与js全面支持的而py和nodejs则独立那套迷你接口规范)
对于 VB 脚本
set obj = CreateObject("RoboTask.App")

对于 JS 脚本
var obj = new ActiveXObject("RoboTask.App");

RoboTaskApp.SetUserVariable(By Val Name as String, By Val Value as String)
作用:创建一个带有指定“Name”的用户变量,并为其赋予指定的“Value”

RoboTaskApp.Automation
它包含了 RoboTask 自动化模式的信息 类型布尔
RoboTaskApp.Close
关闭RoboTask

RoboTaskApp.DelUserVariable(By Val Name as String)
删除指定“Name”的用户变量

RoboTaskApp.StartTask(By Val ExternalName as String, By Val TaskParameters as String)
作用:

RoboTaskApp.DesktopAlert(ByVal Title as String, ByVal Msg as String, ByVal IconKind as Long, ByVal AlertKind as Long, ByVal Duration as Long, ByVal Width as Long, ByVal Height as Long, ByVal Corner as Long)
作用:显示桌面提醒或托盘气球图标,显示指定文本字段,参数跟弹出气泡对话框控件一样 可以支持类型持续时间大小和位置
RoboTaskApp.EventInfoEnabled(ByVal TaskNum as Long, ByVal EventNum as Long)
作用:按任务编号和事件编号返回事件状态(启用或禁用)只读布尔型
RoboTaskApp.EventInfoEventID(ByVal TaskNum as Long, ByVal EventNum as Long)
作用:返回任务编号和事件编号的事件级别标识符 只读字符串型
RoboTaskApp.EventParameters(ByVal TaskNum as Long, ByVal EventNum as Long)
作用:返回事件参数为文本,参数集合取决于事件类型 只读字符串型
RoboTask.EventsCount(ByVal TaskNum as Long)
作用:返回任务的事件数量。只读Long型
RoboTaskApp.ExpandText(By Val Text as String)
作用:展开包含 RoboTask 变量的字符串,返回该字符串类型的值 只读字符串型 是高频关键方法之一
RoboTaskApp.ExternalName(By Val ThreadID)
作用:通过任务的 ThreadID 返回任务的“外部名称”。每个任务可以设置它的自定义外部名称
RoboTaskApp.ExternalName(RoboTaskApp.ThreadID)
作用:例如可在ExternalName内 用 RoboTaskApp.ThreadID 属性查找当前任务的 ThreadID
RoboTaskApp.Minimize
作用:RoboTask软件最小化到托盘图标中
RoboTaskApp.Restore
作用:RoboTask软件恢复窗口
RoboTaskApp.ServiceMode
作用:返回RoboTask 是以服务模式(true)还是以应用模式(false)在运行
RoboTaskApp.SetThreadId(By Val ID as long)
作用:允许从外部脚本(诸如 JS 脚本、JS Evaluate、VB Script、VB Evaluate 等,而py和nodejs有专门的不需要用此法)访问本地任务变量,该脚本使用 RoboTask.App COM 对象(PowerShell脚本无内置对象需要用专门的demo初始化)
RoboTaskApp.SetUserVariable(By Val Name as String, By Val Value as String)
作用:将“Name”用户变量的值设置为指定的“Value”"
RoboTaskApp.StartTask(By Val ExternalName as String, By Val TaskParameters as String)
作用:以指定的“外部名称”启动任务,可带参数 py手册有demo
RoboTaskApp.StepInfoActionID(ByVal TaskNum as long, ByVal StepNum as long)
作用:返回任务编号和步数的动作标识符 只读字符串型 动作类型值
RoboTaskApp.StepInfoName(ByVal TaskNum as long, ByVal StepNum as long)
作用:通过任务编号和步骤编号返回步骤名称。 只读字符串型
RoboTaskApp.StepInfoEnabled(ByVal TaskNum as long, ByVal StepNum as long)
作用:通过任务编号和步骤编号返回步数状态(启用或禁用) 只读布尔类
RoboTaskApp.StepParameters(ByVal TaskNum as Long, ByVal StepNum as long)
作用:返回步骤参数为文本 参数集合取决于动作类型(ActionID) 只读字符串型
RoboTaskApp.StepsCount(ByVal TaskNum as long)
作用:返回任务中的步骤数,并返回任务编号 只读Long型
RoboTaskApp.StopTask(By Val ExternalName as String)
作用:用指定的“外部名称”停止任务
RoboTaskApp.TaskCount
作用:返回RoboTask中注册的任务数量 只读数字型
RoboTaskApp.TaskEnabled(By Val ExternalName as String)
作用:允许你读取或设置任务的“启用”参数(如name=False),并指定“外部名” 读写布尔型
RoboTaskApp.TaskInfoExtname(ByVal NumTask as Long)
作用:以任务的编号返回任务的外部名称 只读字符串型
RoboTaskApp.TaskInfoName(ByVal NumTask as Long)
作用:按任务编号返回任务名称 只读字符串型
RoboTaskApp.TaskInfoLastStart(ByVal NumTask as Long)
作用:返回任务最后一次运行的日期和时间(0为没运行过)
RoboTaskApp.TaskInfoID(ByVal NumTask as Long)
作用:按任务编号返回任务ID 只读长整数型
RoboTaskApp.TaskInfoFolderID(ByVal NumTask as Long)
作用:按任务编号返回任务文件夹ID 只读长整数型
RoboTaskApp.TaskInfoState(ByVal NumTask as Long)
作用:按任务编号返回任务状态(0-4代表几种状态如3=正运行 4=停止中) 只读长整数型
RoboTaskApp.TaskNumByExternalName(ByVal ExternalName as String)
作用:通过 外部任务名称 返回任务编号 只读Long型
RoboTaskApp.ThreadID
作用:返回任务的线程ID。该值在外部任务名称属性和写日志方法中是必需的 只读Long型
RoboTaskApp.Version
作用:返回软件版本
RoboTaskApp.WHandle
作用:包含主 RoboTask 窗口的 Handle。该值对于某些 Windows API 函数(例如 SendMessage、PostMessage)正常工作是必要的 只读Long型
RoboTaskApp.WriteToLog(By Val MsgType as Integer, By Val MessageStr as String, By Val ThreadID as Long)
作用:将消息记录到任务日志(要记录到系统日志,应将TreadID设置为0)如:RoboTaskApp.WriteToLog(3, "Hello World", thr)
RoboTaskApp.EventInfo(ByVal TaskNum as Long, ByVal EventNum as Long, EventID as String, Enabled as Boolean)
作用:允许你通过任务编号和任务中的步数获取触发事件的信息
RoboTaskApp.StepInfo(ByVal TaskNum as long, ByVal StepNum as long, ActionID as String, Enabled as Boolean, Name as String)
作用:允许你通过任务编号和任务中的步骤编号获取步骤信息
RoboTaskApp.TaskInfo(By Val NumTask as Long, ExtName as String, Name as String, ID as Long)
作用:用指定任务编号设置任务的属性
RoboTaskApp.TaskInfo2(ByVal NumTask as Long, FolderID as Long, State as TaskState)
作用:取任务信息的另一种方法。它允许你通过任务编号获取任务文件夹标识符和任务状态