在Python中Visible的时候看不见excel的add-ins的东西

zhywdd 2009-08-04 03:52:06
Visible设为1的时候,在excel里面看不见add-ins的东西。
手动关了excel,再打开它就能看到。不知道能不能在打开的时候看到add-ins的东西。
python 3.0
Excel 2003
Windows

from win32com.client import constants, Dispatch
import win32com.client
class Case1():

def __init__(self, filename=None):

self.xlApp = win32com.client.Dispatch('Excel.Application')
self.xlApp.Visible = 1
if filename:
self.filename = filename
self.xlBook = self.xlApp.Workbooks.Open(filename)
else:
self.xlBook = self.xlApp.Workbooks.Add()
self.filename = ''

def setCell(self, sheet, row, col, value):
"set value of one cell"
sht = self.xlBook.Worksheets(sheet)
sht.Cells(row, col).Value = value

def save(self, newfilename=None):
if newfilename:
self.filename = newfilename
self.xlBook.SaveAs(newfilename)
else:
self.xlBook.Save()

if __name__ == '__main__':
case1 = Case1()
case1.setCell('Sheet1', 1, 1, '2004/001')
case1.save(r'c:\Case.xls')
...全文
159 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhywdd 2009-08-10
  • 打赏
  • 举报
回复
class Case1():
def __init__(self, fileName, addin):
self.xlApp = win32com.client.Dispatch('Excel.Application')
self.xlApp.Visible = True
if fileName:
self.fileName = fileName
self.xlBook = self.xlApp.Workbooks.Open(fileName)
else:
self.xlBook = self.xlApp.Workbooks.Add()
self.fileName = ''
self.xlApp.Workbooks.Open(addin).RunAutoMacros(1)
self.xlApp.Addins.Add(addin)


addin is r'c:\lsd.xla'
howardhewang 2009-08-05
  • 打赏
  • 举报
回复
...
....
.....
......
zhywdd 2009-08-05
  • 打赏
  • 举报
回复
我知道了,open/visible这种方式和鼠标打开文件不一样的。
save了以后要用os.popen打开就行了。
from win32com.client import constants, Dispatch
import win32com.client
class Case1():

def __init__(self, filename=None):

self.xlApp = win32com.client.Dispatch('Excel.Application')
if filename:
self.filename = filename
self.xlBook = self.xlApp.Workbooks.Open(filename)
else:
self.xlBook = self.xlApp.Workbooks.Add()
self.filename = ''

def setCell(self, sheet, row, col, value):
"set value of one cell"
sht = self.xlBook.Worksheets(sheet)
sht.Cells(row, col).Value = value

def save(self, newfilename=None):
if newfilename:
self.filename = newfilename
self.xlBook.SaveAs(newfilename)
else:
self.xlBook.Save()

def close(self):
self.xlBook.Close(SaveChanges=0)
del self.xlApp

if __name__ == '__main__':
try:
import os
import time
case1 = Case1()
case1.setCell('Sheet1', 1, 1, '2004/001')
case1.save(r'c:\Case.xls')
case1.close()
time.sleep(2)
os.popen(r'c:\Case.xls')
except Exception, e:
print e
DarkChampion 2009-08-04
  • 打赏
  • 举报
回复
帮顶

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧