|
baomaboy
银牌会员
积分 1513
发帖 554
注册 2005-12-30
状态 离线
|
『楼 主』:
[转]调用office助手→VBS版
我是从来不装那些类似的助手的所以无法测试了。
转自:◎Vbs调用MsAgent
Quote: | GenieID = "Genie"
GenieACS = "genie.acs"
ScriptComplete = 0
Set AgentControl = WScript.CreateObject("Agent.Control.2","agent_")
AgentControl.Connected = True'连接控件
AgentControl.Characters.Load GenieID,GenieACS
Set Genie = AgentControl.Characters(GenieID)
Genie.LanguageID = &H409
Genie.MoveTo 900, 600
Genie.Show
Genie.MoveTo 900, 0
timespeak = "good " & GetTimeOfDay()
Genie.Speak(timespeak)
Genie.Play "Acknowledge" '承认
Genie.Speak("眨眼")
Genie.Play "Blink" '眨眼
Genie.Speak("i love you")
Genie.Speak("回复动作")
genie.Play("RestPose") '回復动作
Genie.Speak("向上")
genie.Play("GestureUp") '向上
Genie.Speak("向下")
genie.Play("GestureDown") '向下
Genie.Speak("伸出左手")
genie.Play("GestureLeft") ' 伸出左手
Genie.Speak("伸出右手")
genie.Play("GestureRight") ' 伸出右手
Genie.Speak("叹气")
genie.Play("Sad") '嘆气
Genie.Speak("惊奇")
genie.Play("Surprised") '惊奇
Genie.Speak("握掌")
genie.Play("Pleased") '握掌
Genie.Speak("喇叭")
genie.Play("Announce") '喇叭
Genie.Speak("眯眼")
genie.Play("Blink") '瞇眼
Genie.Speak("无奈")
genie.Play("Decline") '无奈
Genie.Speak("抓头")
genie.Play("Confused") '抓头
Genie.Speak("鼓掌")
genie.Play("Congratulate") '奖盃
Genie.Speak("回手")
genie.Play("Wave") '挥手
Genie.Speak("惊讶")
genie.Play("Alert") '惊讶
Genie.Speak("魔术棒1")
genie.Play("DoMagic1") '魔术棒-1
Genie.Speak("魔术棒2")
genie.Play("DoMagic2") '魔术棒-2
Genie.Speak("摊手")
genie.Play("Explain") '摊手
Genie.Speak("敲门")
genie.Play("GetAttention") '敲门
genie.Play("GetAttentionContinued") '敲门-敲
genie.Play("GetAttentionReturn") '敲门-放下
genie.Play("Greet") '弯腰
genie.Play("Idle2_1") '观察魔术棒
genie.Play("Idle2_2") '两手在腹前交叉
genie.Play("Idle3_1") '打呵欠
Genie.Speak("向上看")
genie.Play("LookUp") '上看
genie.Play("LookDown") '下看
genie.Play("LookLeft") '左看
genie.Play("LookRight") '右看
genie.Play("MoveUp") '上移
genie.Play("MoveDown") '下移
genie.Play("MoveLeft") '左移
genie.Play("MoveRight") '右移
genie.Play("Process") '魔法调配
genie.Play("Read") '阅读
Do '此处存疑,高手请看最后
WScript.Sleep 1000
Loop Until ScriptComplete
Function GetTimeOfDay()
Dim TimeOfDay
Dim h
h = Hour(Now())
If h < 12 Then
TimeOfDay = "Morning"
ElseIf h < 17 Then
TimeOfDay = "Afternoon"
Else
TimeOfDay = "Evening"
End If
GetTimeOfDay = TimeOfDay
End Function
Sub agent_dblclick(ByVal CharacterID, ByVal Button, ByVal Shift, ByVal X, ByVal Y)
Genie.StopAll
MsgBox "白白,再见了!"
WScript.Quit
End Sub |
|
[ Last edited by baomaboy on 2007-6-3 at 11:32 AM ]
|
好多菩提树,好多明镜台。本来好多物,好多的尘埃。 |
|
2007-6-3 11:29 |
|
|
wudixin96
银牌会员
积分 1928
发帖 931
注册 2007-1-6
状态 离线
|
『第
2 楼』:
想问一下baomaboy兄,
Agent等应用程序对象的方法如何得知的??
|
|
2007-6-3 11:39 |
|
|
baomaboy
银牌会员
积分 1513
发帖 554
注册 2005-12-30
状态 离线
|
|
2007-6-3 11:52 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
4 楼』:
genie.Play("Read") '阅读
msgbox "哈哈"
改成这样你就知道了,那个sleep的用途。
你会发现msgbox "哈哈"并不是等阅读完才出现的。
脚本是按顺序执行,脚本把那些动作写好就给agent了……
(脚本执行的速度很快,告诉agent该怎样做。)
agent做的快慢已经和脚本没有关系了。。
但是脚本结束,agent那个就关闭了。。。。因为是你调用的……
|
|
2007-6-3 12:03 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
5 楼』:
GenieID = "Merlin" '没有那个对象~换马琳上来
GenieACS = "Merlin.acs"
Set AgentControl = WScript.CreateObject("Agent.Control.2","agent_")
AgentControl.Connected = True'连接控件
AgentControl.Characters.Load GenieID,GenieACS
Set Genie = AgentControl.Characters(GenieID)
Genie.LanguageID = &H409
Genie.MoveTo 900, 600
Genie.Show
Genie.MoveTo 900, 0
timespeak = "good " & GetTimeOfDay()
'……太长了我缩下
Genie.Speak(timespeak)
Genie.Play "Acknowledge" '承认
genie.Play("Process") '魔法调配
genie.Play("Read") '阅读
MsgBox "关闭请点确定按钮。",,"退出" '不用循环也可以,只要保证脚本不退出就可以。
Function GetTimeOfDay()
Dim TimeOfDay
Dim h
h = Hour(Now())
If h < 12 Then
TimeOfDay = "Morning"
ElseIf h < 17 Then
TimeOfDay = "Afternoon"
Else
TimeOfDay = "Evening"
End If
GetTimeOfDay = TimeOfDay
End Function
Sub agent_dblclick(ByVal CharacterID, ByVal Button, ByVal Shift, ByVal X, ByVal Y)
Genie.StopAll
MsgBox "白白,再见了!"
WScript.Quit
End Sub
|
|
2007-6-3 12:07 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
6 楼』:
这样应该更清楚了。
GenieID = "Merlin" '没有那个对象~换马琳上来
GenieACS = "Merlin.acs"
Set AgentControl = WScript.CreateObject("Agent.Control.2","agent_")
AgentControl.Connected = True'连接控件
AgentControl.Characters.Load GenieID,GenieACS
Set Genie = AgentControl.Characters(GenieID)
Genie.LanguageID = &H409
Genie.MoveTo 900, 600
Genie.Show
Genie.MoveTo 900, 0
timespeak = "good 说短点不要函数了=.="
'……太长了我缩下
Genie.Speak(timespeak)
Genie.Play "Acknowledge" '承认
genie.Play("Process") '魔法调配
MsgBox "阅读。",,"'阅读"
genie.Play("Read") '阅读
MsgBox "关闭请点确定按钮。",,"退出" '不用循环也可以,只要保证脚本不退出就可以。
'我完你也完,不要双击退出了
|
|
2007-6-3 12:11 |
|
|
baomaboy
银牌会员
积分 1513
发帖 554
注册 2005-12-30
状态 离线
|
|
2007-6-3 12:19 |
|
|
rockylee
新手上路
积分 3
发帖 3
注册 2006-12-28
状态 离线
|
|
2008-12-24 20:29 |
|