pxt2001 发表于 2017-10-18 11:01:07

已经打开的新工作簿,如何插入一行,设置居中对齐?

请问,已经打开的excel 新工作簿,如何在A1单元格前插入一行,然后A1:E5区域设置居中对齐?

llsheng_73 发表于 2017-10-18 11:01:08

本帖最后由 llsheng_73 于 2017-10-20 08:20 编辑

(setq xls(vlax-get-object"excel.application"))
(msxl-select(msxl-get-range xls"A1"))
(msxl-Insert(msxl-get-selection xls))

(msxl-put-HorizontalAlignment(msxl-get-range xls"A1:E5")msxl-xlCenter)


需要连接ms-excel库
(defun XLSLib(/ path tlb)
(setq obj(vlax-get-or-create-object "Excel.Application"))
(setq path(vlax-get obj 'Path))
(if(vl-some'(lambda(x)(setq tlb(findfile(strcat path"/"x))))
      '("Excel8.olb""Excel9.olb""Excel10.olb""Excel.exe"))
    tlb(alert"本系统内未找到微软EXCEL,初始化失败!")))
(defun xlsinit( / tlbfile)
(if(and(null msxl-xl24HourClock)(setq tlbfile(XLSLib)))
    (vlax-import-type-library :tlb-filename tlbfile :methods-prefix"msxl-":properties-prefix"msxl-":constants-prefix"msxl-"))
    msxl-xl24HourClock)

这样连接库之后就比vlax-get,vlax-put,vlax-invoke方便了很多

逍遥天下 发表于 2017-10-19 11:06:05

路过,顶一下

pxt2001 发表于 2017-10-19 12:45:52

请问:
(if(vl-some'(lambda(x)(setq tlb(findfile(strcat path"<a href="http://bbs.mjtd.com/file://\\" target="_blank">\\"x</a>))))
这段无法运行,怎么情况?

llsheng_73 发表于 2017-10-20 08:20:42

本帖最后由 llsheng_73 于 2017-10-20 08:22 编辑

pxt2001 发表于 2017-10-19 12:45
请问:
(if(vl-some'(lambda(x)(setq tlb(findfile(strcat path"\\"x))))
这段无法运行,怎么情况?

(vl-some'(lambda(x)(setq tlb(findfile(strcat path"/"x))))
'("Excel8.olb""Excel9.olb""Excel10.olb""Excel.exe"))
应该是网页的问题,它把"\\"X转成了网址。。。。所以发生意外

页: [1]
查看完整版本: 已经打开的新工作簿,如何插入一行,设置居中对齐?