※ 引述《zchien (小建)》之铭言:
: (若是和其他不同软件互动之问题 请记得一并填写)
: 软件:
: Excel
: 版本:2013
: 我telnet到Linux server,在透过sendkey
: 发现问题
: 只送下面两行讯息
: sendkey 变量A ,true
: sendkey "字串A", true
: 上面字串A的内容是
: ps -fA |awk '{print $1}'
: 但在server收到的讯息是
: ps -fA|awk 变量A
: 请问是否有什么方法,可以让字串A的内容
: 被当成文字,完整送出到server
: 我试过
: sendkey "ps -fA |awk " &" '{print $1}' "
: 不行
我有新的一行一直测试不成功
我想要显示 ps -fA | grep "ASSW-" |grep -v "ASSW -display"|awk '{print $1}'
测试过
Application,Sendkeys ("ps -fA | grep "ASSW-" |grep -v "ASSW -display"|awk '{{}print $1{}}'")
会显示前面的 ASSW- 有异常
异常讯息是 : 编译错误" 必须是::清单分除字符或)
使用Application,Sendkeys ("ps -fA | grep {"ASSW-"} |grep -v {"ASSW -display"}
|awk '{{}print $1{}}'")
也不行
有把" 用{} 框起来也不行
请问是否有其他方式
=============================
自问自答:
我参考这个找不到答案:
https://docs.microsoft.com/zh-tw/office/vba/api/excel.application.sendkeys
但是我发现一个规则
如果要让 符号"保留 , 前后必须使用"" 包起来,变成"""
而且有符号" 出现过, 必须使用 & 去连接, 否则也是会有异常
异常:
Application.SendKeys ("ps -fA |grep """ASSW -""" | grep -v """ASSW
-display""" |awk '{{}print $1{}}'")
正常:
Application.SendKeys ("ps -fA |grep " & """ASSW -""" & "| grep -v " & """ASSW
-display""" & "|awk '{{}print $1{}}'")
输出:
ps -fA |grep "ASSW -"| grep -v "ASSW -display"|awk '{print $1}'