有的时候,想修改一个字符串,可以又不想全部输入.
这时候如果想不用对话框的话,就可以试试以下的办法.
用SENDKEYS这个函数,可以事先输入一些字符串.
当时,如果是中文的话,可能还有点问题.

Quote
(defun c:tt()
(SENDKEYS "aabb")
(GETSTRING "\ntest:")
)
Quote
如果是中文的话,可以先放入剪贴板,然后用
(SENDKEYS "^v") 就可以显示在命令行了

放入剪贴板的方法,晓东CAD里面有
Quote
;|
功能 
在程序运行过程中按下功能建 
语法 
(SendKeys keys ) 
参数 
keys:键名 
样例 
,(sendkeys "{F3}") 相当于按下F3键
(sendkeys "{CAPSLOCK}") 相当于按下大小写键
(sendkeys "^c") 相当于按下CTRL+C键
(sendkeys "%F") 相当于按下ALT+F键 
(sendkeys "^{TAB}")
说明 
(if (not commandreactor)
(setq commandreactor
(vlr-command-reactor
nil
'((:vlr-commandwillstart . haha))
)
)
)
(defun haha (var1 var2)
(if (wcmatch (vl-princ-to-string (strcase (car var2))) "*PLOT")
(progn
(sendkeys "{ESC}")
(princ "\n不准打印!")
)
)
)
|;
(defun SendKeys (keys / ws) 
(setq ws (vlax-create-object "WScript.Shell")) 
(vlax-invoke-method ws 'sendkeys keys) 
(vlax-release-object ws) 
(princ) 
)