尝试使用autohotkey在本地html文件上执行某些处理时,“ rpc服务器不可用”

时间:2018-09-11 06:45:24

标签: automation autohotkey rpc

我已经编写了访问本地HTML文件并完成某些工作的脚本。

^+A::
;Convert HTML TO ASCIIDOC
Send ^c
copied := Clipboard
sleep 30
local := "file:///C:/Users/emre/Desktop/Tools/Note%20Taking%20Tools/Asciidoc%20Tools/HtmlToAsciidoc-master/to-asciidoc.html"
sleep 100
(pwb5 := ComObjCreate("InternetExplorer.Application")).Visible:=False

pwb5.navigate(local)
while pwb5.busy
    sleep 15

WinActivate,ahk_class IEFrame
ControlFocus,ahk_class IEFrame
Send, !n
Send, {Enter}


pwb5.document.getElementByID("source").value=copied
pwb5.document.getElementByID("conversion-button").Click()
Sleep 3000
Clipboard=pwb5.document.getElementByID("target").value
Return

运行此脚本时,出现以下错误:

enter image description here

我已经进行了一些研究并尝试遵循以下方法,但是这些方法均无效。任何建议都值得赞赏。

选中1 我已经从services.msc中检查了DCOM服务器进程启动器,远程过程调用(RPC)和RPC终结点映射器。它们的状态均为“运行”,并且其启动设置为“自动”。

检查2 我还检查了防火墙中的“远程协助”

选中3 我还检查了“ Microsoft网络的文件和打印机共享”和“ Internet协议版本6(TCP / IPv6)”是否已启用

检查4 我还检查了Virtualbox设置中的“将NIC从默认的“ NAT”切换为“桥接的适配器”。

1 个答案:

答案 0 :(得分:0)

MAYBE,这会有所帮助。我的问题听起来与您的问题相似。就我而言,我有一个vb.net程序,其中的一部分可以起到以下作用:

Function LoadWebPage(i_IE As SHDocVw.InternetExplorer, i_URL As String) As Boolean

    i_IE.navigate (i_URL)
    Debug.Print (i_IE.ReadyState)

End Function

导航方法运行良好。但是一旦到达返回ReadyState属性的地步,我就会收到“ RPC服务器不可用”错误。这仅发生在我使用的三台计算机之一上。在有问题的计算机上,我按照您提到的问题进行了遍历(在许多其他站点中也列出了这些步骤),但没有任何改善。但是后来我想到了一个调整“ Internet Explorer选项->设置->安全->启用保护模式”的建议。实际上,帮助我的网站表示要确保对所有区域(即Internet,本地Intranet,受信任的站点,受限制的站点)进行检查。 实际上是取消全部选中,从而解决了我的问题。我回到了另外两台机器中的一台(其中一台脚本没有错误地运行),实际上,它们在那台机器上未被检查(不确定第三台机器)。

Fix for RPC Server Error when occuring with attempt at Internet Explorer Automation

如果帖子的发布时间不长于此,则他们针对此问题的陈述原因:

  

“它的基本要点是当您跨过安全域(http   https)沙箱系统实际上创建了一个新的IE COM   对象...基本解决方案是在   将“ Internet设置”的“安全性”选项卡设置为“启用保护模式”   避免丢失COM对象。”

再次,我认为这可能是拼写错误,并且它们意味着不要选中这些框。

enter image description here