share with you

知识点:

  1. 竖列1234全 部分 部分 无 basic适合多窗口,desktop适合单窗口操作。
  2. Substring(0,3).ToUpper 从第0位截取,取三位,并大写
  3. 20132015
  4. “C:\Windows\System32\notepad.exe”
  5. Boolean=char1.Contains(“success”)/get image也是boolean
  6. without using the recorder的时候Get Text 等价于手点取值
  7. citrix中使用tab热键调到下一个textbox
  8. 法1 recd-citrix-2clickText来调用ocr识别并逐一操作并设置鼠标位置,再选3Type来键入文字
  9. 法2 1clickImage 选择TextBox区域后,调用3同上。
  10. 重设剪切板问题?
  11. (for citrix):
  12. Build data table P MaxLength设置为-1,表示长度没有限制。
  13. 法一Acty Click Image-Pro-input来选择单机双击按下松开
  14. 法二热键 send hotkey \need indicate(优先)
  15. 法三 通过WIN+R type into
  16. Find image等待网页加载完成再进行下一步。
  17. Pick(pickbranch(tigger:image exists;action:click image)pickbranch())
  18. 读取excel:excel application scope(read range-output data table-box,write range-Pro-勾选addHeaders可以加上字段名,append range无法添加字段名).
    Build data table建立表,附带表头,,add data table 传入两个值:迭代出来的单个值组成的数组,和建空表输出的表名。

excel application scope(read cell,write cell)读写单元格,一个格子,不可以写范围。但是可以用select Range来
for each(get row item来取一行中的一个格子)两个参数:第几列和输出。

  1. Type into与Set text(自动emptyField)

  2. PDF-OCR Attach Window-C10T1待续

  3. Read PDF Text and Read PDF With OCR可以后台运行。

  4. Anchor :Get date右边的日期,attach window-anchor base(find element,get text下的selector只有获取text属性) anchor下input-anchorPosition务必选好。

  5. Get IMAP mail messages 可以lookfor 也可以save attachment

  6. Element exists,find element,wait element vanish中第一个有boolean返回值,后两者必须找到元素或者消失后才能继续进行下去。appear

  7. Try catch中,catch选择system.Exception可以满足大部分异常,catch里执行后续操作,如加入log message在控制台弹出,但是错误框不弹出了,可以通过rethrow再弹出,,也可以在log message中调用exception.Message来在控制台输出。

  8. For each中:Read range输出的表.Rows.IndexOf(row),即迭代出来的这一行数值+2

  9. cint(row(“Cash Out”))将迭代出来的这一行的cash out字段的值转化为int

  10. CDbl() string转double

  11. row(0)row(1)

  12. 少用if 多用decision

  13. C13organization Reliable Efficient Maintainable Extensible

  14. 右键 extract as workflow

  15. Type into控件的P-SimulateType默认不勾选,卡拉卡拉打,识别回车键,理论不支持后台运行,但是自测桌面程序可以后台;勾选后速度快,不识别回车键,类似缓冲,一次写入,支持后台。

  16. (1)orchestrator中:通过get Asset,get Credential来获取常量和凭据,P-input要加引号
    再通过type secure text来获取credential的密码,填写变量input,并indicate in screen
    (2)直接调用windows Credential的方法:A-get secure credential P:target:”名字”,output:账号密码类型不同。

  17. read cell formula用于获取excel表格中的公式

  18. copy file 或move file的时候可以重命名P。

  19. 若修改了project的ID , .json文件也要进去改名。

  20. 获取web页面上元素的URL(用于URL下载),recording-web-element-find-find element可以用来获取元素(这一步是废的,不必要);直接通过A-get Attribute通过indicate web上的元素,P input的参数Attribute设为:“href” 输出即为url,同理可得其他;

  21. 如何更改执行日志存储目录,C:\ Program Files(x86)\ UiPath Studio \ NLog.config

  22. A-Matches P-input待匹配文字,pattern键入正则,regexOption默认勾选IgnoreCase和Compiled,返回值类似于多个match类型组成的集合。Ignore Case忽略大小写, Multiline, ExplicitCapture, Compiled, IgnorePatternWhitespace, RightToLeft, ECMAScript, CultureInvariant。
    1,“123my67And@QQ89.coM” 默认两项,正则:"[a-z]+" 结果my:And:QQ:coM:
    2,额外勾选RightToLeft,从右往左匹配,coM:QQ:And:my
    3, 正则为:“a b”,则获取“a b”字符串, 但是如果额外勾选IgnorePatternWhitespace,忽略正则中的空格,则取出的字符串为“ab“
    “[a-zA-Z0-9]+@[a-zA-Z0-9]+(\.[a-zA-Z]+){1}”
    ([\w.-]+)@([\w-]+)((.(\w){2,3})+)
    ([\w.-]+)@([\w-]+)((.(\w){2,3})+)
    “^[a-zA-Z0-9-_.]+@[a-zA-Z.]+$”

  23. Excel中的click事件
    它与Excel的最小化或最大化无关。
    它与Excle的显示放大率有关。
    两种区别如下:
    录制点击:指哪点哪;通过F3选择区域,默认
    Activity-click:始终默认点击中心区域
    录制点击F3如下:

点击位置对应如蓝圈,通过设置offset的值来修改点击位置,若值均为正,则点击位置均往右下偏移。

1.Monitor events:多if,跑一个结果;pick:多if,跑多个结果。If里可以添加各种trigger。

2.Collection是集合、Dictionary必须是key、value
3,A delay 0.00.00.10 即10秒
4,A parallel(类似于上图pick,可以添加多个分支)-P completionCondition-默认Blank/False:所有分支完成再结束。True:任意分支完成就结束。
5, kill prosess A process 例:System.Diagnostics.Process.GetProcessesByName (“excel”)(0); A processName:”excel”
6, 区别:1)Start Process键入两个参数:excel.exe的路径和该文件的路径。
“C:\Program Files (x86)\Microsoft Office\Office15\EXCEL.EXE”
如当前UIpath路径下:“pwd_test.xlsx”
2)Open application:indicate然后打开.Exe
3)Excel application scope:打开指定Excel文件。
7,Create file:键入文件名(如.txt)和路径创建文件。

8,与while相反,当不满足条件时retry。

is true的返回值是true时跳出循环。
9,获取时间差:
Assign: startTime=now; 该变量类型为
endTime=now;
(endTime-startTime).TotalSeconds.ToString—(用来获取时间差,以秒为单位,包含毫秒)
(endTime-startTime).TotalMilliseconds.ToString0—(用来获取时间差,以毫秒为单位)
10,box中回车、换行的语法:Environment.NewLine “heheda”+vbnewline+“Do it”
11, 如果添加头,则字段名必须对应上,字段名不可多,也不可少(展开)

故,必须添加头。(如果字段乱序,系统会根据字段名一一对应写入,故字段打乱也没毛病)
12,时间格式如:0 15 10 ? * *
https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm
13,new collection和dictionary:Build collection-Add to collection-Get item from collection-Remove from collection
14, 我们发布(publish)的包nupkg 在本地的路径如下:
C:\Windows\SysWOW64\config\systemprofile\AppData\Local\NuGet\Cache
15,filter table:

Type字段=Test 生成的表名为User

16,如果此活动包含在Try Catch中并且ContinueOnError属性的值为True,则在执行项目时不会捕获任何错误。
17, ocr语言包的存放路径 C:\Program Files (x86)\UiPath\Studio\tessdata
18, ppt中,勾选guilde产生虚线(虚线可拖动),便于文本框位置校正。
19,去C:\Program Files (x86)\UiPath\Studio下运行cmd:
Uirobot –f C:\Users\jiangMY\Documents\UiPath\TEST00010\main.xaml
20,excel固定表头:

选中第三行,下拉选1,固定前两行标题头。
21, Str=jsonConvert.SerializeObject(dtExcel)
[{:},{}]

22,

23,cronmaker.com

语法:
1, excel中 “=A1&B1” concat
2,dtTextAll.Select("[Column 0] like ‘A%’ ").CopyToDataTable()
3,new Random().Next(1,100)
4,时区:timezone.CurrentTimeZone.StandardName
5,dt.Select(“convert(Type,‘System.String’)=‘AA-4’”).CopyToDataTable
6,DT.Select.Length.ToString 获取表的行数
dt.Columns.Count.ToString 获取表的列数,字段数
7, 字符串转日期:
法1,System.Convert.ToDateTime(strString)
法2,
DateTime.ParseExact(strIn, “MM-dd-yyyy”,System.Globalization.CultureInfo.InvariantCulture)

strIn=“07-14—2015”,格式要与"MM-dd—yyyy"对应。
日期时间格式(MMdd):
https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

MAILについて:
getOutlookMailMsgs - listMailMsgs - - Net- mail
mail.Subject.StartsWith(“即日出荷依頼”)
mail.Attachments.Any
listMailMsgs.-first/last/(0)-.Subject.ToString
arrAttachments.-First/(0)-

可以识别的日期:Sun 15 Jun 2008 8:30 AM -06:00
Sun 15 Jun 2008 8:30 AM -06
05/30/2008 08:30
8/08/2015 06:30:15.006542
8,文件夹按照当前时间命名: “文档_” + DateTime.Now.ToString(“dd/MM/yyyy hh:mm:ss”).Replace("/","").Replace(":","") + “.png”
9, 1)newDT = dt.Select("[Incharge PD 1] like 'FM7171_’").CopyToDataTable
2)newDT = newDT.DefaultView.ToTable(true,“Murata full PN *2”,“Customer PN”,“Remarks on Customer PN (1)”,“Remarks on Customer PN (2)”) 括号内true为去重。
3)newDT.Columns(“原名字”).ColumnName = “新名字” + vbnewline
4)Filter 过滤表:
dt.DefaultView.Sort = “[列名1] ASC, [列名2] Desc”
dt,defaultView.RowFilter=(“名字 not like ‘%A’ or 名字is null ”)
dt= dt.DefaultView.ToTable

Make sure you take some time to pick the appropriate layout for each workflow:
-Main: flowchart or state machine
-Business logic: flowchart
-UI interactions: sequence
-Avoid nested IFs by using flowcharts
It’s good to break your process into smaller workflows:
-Develop and test pieces independently
-Reuse workflows
-Collaborate more efficiently by working on separate files
Always handle exceptions:
-Place exception prone workflows into Try Catch blocks
-Same goes for externally invoked workflows
-Setup recover sequences
Make sure your workflows are readable:
-Choose descriptive names for all components
-Use explanatory notes and comments
-Log real time execution progress
-Place environment settings in a config file
Always keep things clean by closing the applications when they are
no longer needed

PDF修改:
相同内容翻译的一致性
日英对应一致性(段落前边的对号,点等等)
同一页多处修改、多次覆盖后,再去重新修改,记得优先检查所有修改项。
上下文内容一致性
上下文外观样式一致,不要有大有小

注:
问题点等等注明1234,条理清晰。
UIPATH _ QA网站:

https://uipath.zendesk.com/hc/en-us/requests

SAP:
1, clickText的native和click image实现层级点击.