(DEFUN GETFILES (MSG WL / X) (VL-LOAD-COM) (IF (NOT (VLAX-CREATE-OBJECT "MSCOMDLG.COMMONDIALOG")) (VL-REGISTRY-WRITE "HKEY_CLASSES_ROOT\\LICENSES\\4D553650-6ABE-11CF-8ADB-00AA00C00905" "" "GFJMRFKFIFKMKFFFRLMMGMHMNLULKMFMQKQJ" ) ) (IF (SETQ X (VLAX-CREATE-OBJECT "MSCOMDLG.COMMONDIALOG")) (PROGN (IF (NOT PATH) (SETQ PATH "") ) (VLAX-PUT-PROPERTY X "DIALOGTITLE" MSG) (VLAX-PUT-PROPERTY X "FILENAME" WL) (VLAX-PUT-PROPERTY X "FILTER" WL) (VLAX-PUT-PROPERTY X "INITDIR" PATH) (VLAX-PUT-PROPERTY X "MAXFILESIZE" 10000) ;; IN LISP UNBEDINGT NOTWENDIG, SONST KOMMT NE ;;FEHLERMELDUNG VON WEGEN ZU WENIG SPEICHER (VLAX-PUT-PROPERTY X "FLAGS" 512) (VLAX-PUT-PROPERTY X "ACTION" 1) ;_ SHOWOPEN-DIALOG (SETQ ERG (VLAX-GET-PROPERTY X "FILENAME")) ) ) (IF (AND ERG (/= ERG WL)) (SETQ ERG (STTOLST ERG)) (SETQ ERG NIL) ) )
(DEFUN STTOLST (STR / F F2 LST I) (SETQ I 1) (SETQ F2 "") (WHILE (/= (SETQ F (SUBSTR STR I 1)) "") (IF (= F " ") (PROGN (SETQ LST (APPEND LST (LIST F2))) (SETQ F2 "") ) (SETQ F2 (STRCAT F2 F)) ) (SETQ I (1+ I)) ) (SETQ LST (APPEND LST (LIST F2))) )
调用命令:(GETFILES "选择需要批处理打印的文件" "*.PLT") |