【官方开发人员请进5.6版问题】同样的代码【在目标中输入、使用键盘输入】5.5运行正常5.6运行输入内容乱码

富德产险 14天前 148

场景描述:

Office版本2010版、Uibot版本5.5及5.6版【均为64位】、操作系统Win10 64位,条件:代码不变,仅在5.5和5.6环境下运行

打开Excel=》读取单元格内容=》写入Outlook邮件正文,5.5 64位版运行效果如下图所示:

_【官方开发人员请进5.6版问题】同样的代码【在目标中输入、使用键盘输入】5.5运行正常5.6运行输入内容乱码

5.6 64位版运行效果如下图所示

_【官方开发人员请进5.6版问题】同样的代码【在目标中输入、使用键盘输入】5.5运行正常5.6运行输入内容乱码

代码如下:

Dim objRet = ""
Dim objExcelWorkBook = ""
objExcelWorkBook = Excel.OpenExcel('''D:\Desktop\桌面\报表2021-09-10.xlsx''',True,"Excel","","")
objRet = Excel.ReadCell(objExcelWorkBook,"汇总","B58")
TracePrint($PrevResult)
#icon("@res:6bg9bln3-46k7-9v83-l6ma-9g01g21i736n.png")
Keyboard.InputText({"wnd":[{"app":"OUTLOOK","cls":"rctrl_renwnd32","title":"未命名 - 邮件 (HTML) "},{"cls":"AfxWndW"},{"cls":"AfxWndW","aaname":"窗体区域"},{"cls":"#32770"},{"cls":"AfxWndA","aaname":"邮件"},{"cls":"_WwB","title":"文档 2","aaname":"文档 2"},{"cls":"_WwG","title":"邮件","aaname":"邮件"}]},objRet,True,20,10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":500,"bSetForeground":True,"sSimulate":"message","bValidate":False,"bClickBeforeInput":False})
Excel.CloseExcel(objExcelWorkBook,True)

以上代码无论选择模拟操作、或者后台操作、或者系统消息都是一样的错误

请各位老师看一下是什么原因引起的【从5.6版本64位恢复到5.5版64位问题可以解决】

初步认为应该是新版问题,也请官方开发人员测试一下,谢谢。

最新回复 (5)
  • 富德产险 11天前
    2
    各位大神,没有人遇到这类问题吗?
  • 郑用 11天前
    3
    请问写入到其它输入框也会乱码吗? 这个Office2020版就是Office2019 (Office官网上没看到2020版的)?
  • 富德产险 9天前
    4
    不好意思,帖子写的时候Office版本写错了,是Office2010版,这个只是在outloot下测试的,其他软件没有测试。
  • 富德产险 9天前
    5

    还发现一个问题:

    5.5版本做的在目标中输入【插图附件】设置的是输入前清空文本框内容【代码如下】5.5版本运行正常,5.6版本就会在文本框之前直接输入,无法清空文本框中原有日期,只能增加一个点击目标,调出日期控件【日期控件附件】,然后选择清空再使用在目标中输入才能解决。【浏览器环境为同为IE电脑为同一台电脑环境唯一不同就是5.5换成5.6】

    Keyboard.InputText({"html":[{"name":"V_DATE6","tag":"INPUT"}],"wnd":[{"app":"iexplore","cls":"IEFrame","title":"*"},{"cls":"Internet Explorer_Server"}]},sRet,True,20,10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":500,"bSetForeground":True,"sSimulate":"message","bValidate":False,"bClickBeforeInput":False})

    上传的附件:
  • 郑用 8天前
    6
    感谢反馈,乱码的这个问题复现,我这边用5.5和5.3版本也是乱码,只有输入到outlook2010 64位的窗口存在问题,outlook 2010 32位和outlook 2019 64位都是正常的,开发检查Creator发送的字符编码是正确的。
    绕开的方法: 可以将Excel读出的字符串通过“设置剪贴板文本”命令复制到剪贴板,然后点击目标窗口,再按ctrl+v粘贴进去。
返回
发新帖