天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 58|回复: 0

Lisp保存excel工作薄

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
Lisp保存excel工作薄



(Defun vlxls-app-saveas
       (xlapp Filename quit? lst / Rtn save kzm wjm f wb)
                    ;保存工作薄
  (if (and xlapp
       (setq wb (vl-catch-all-apply
              'vlax-get-property
              (list xlapp 'activeworkbook)
            )
       )
       (not (vl-catch-all-error-p wb))
      )
    ()
    (setq xlapp    (vl-catch-all-apply
          (function (lambda () ($xlapp-New$ 0 t nil)))
        )
    )
  )
  (setq    wb (vl-catch-all-apply
         'vlax-get-property
         (list xlapp 'activeworkbook)
       )
  )
  (OR (and Filename
       (setq kzm (vl-filename-extension Filename))
       (wcmatch kzm "[,*.xls,*.XLS,]")
      )                    ;扩展名
      (SETQ KZM ".xls")
  )
  (or (and Filename
       (setq wjm (vl-filename-base Filename))
       (> (strlen wjm) 0)
      )
      (setq wjm "data")
  )
  (or (and Filename
       (setq f (vl-filename-directory Filename))
       (setq f (vl-string-right-trim "\\" f))
      )
      (and (setq f (getvar "dwgprefix"))
       (setq f (vl-string-right-trim "\\" f))
      )
  )
  (setq Filename (strcat f "\\" wjm kzm))
  (vl-catch-all-apply
    'vlax-put-property
    (LIST xlapp 'DisplayAlerts :vlax-False)
  )                    ;保存的时候不弹出警告的窗口  
  (setq    save (vl-catch-all-apply
           (function (lambda ()
               (vlax-invoke-method
                 wb          "SaveAs"     Filename
                 msxlc-xlNormal           ""
                 ""          :vlax-False  :vlax-False
                 nil
                )
             )
           )
         )
  )
  (if (vl-catch-all-error-p save)
    (progn (setq save nil)
       (setq Filename (vl-filename-mktemp Filename))
       (setq save (vl-catch-all-apply
            (function (lambda ()
                    (vlax-invoke-method
                      wb       "SaveAs"
                      Filename       msxlc-xlNormal
                      ""       ""
                      :vlax-False  :vlax-False
                      nil
                     )
                  )
            )
              )
       )
    )
  )
  (if quit?
    (progn
      (vlax-invoke-method
    (vlax-get-property xlapp 'activeworkbook)
    'Close
      )
      (vlax-invoke-method xlapp 'Quit)
    )
  )
  (if (vl-catch-all-error-p save)
    nil
    (findfile Filename)
  )
)

 

 

 

 

Lisp保存excel工作薄
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 10:21 , Processed in 0.130195 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表