在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')
...全文
212 4 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
帮顶
内容概要:本文介绍了一种基于不变扩展卡尔曼滤波器(Invariant Extended Kalman Filter, IEKF)的传感器融合方法,用于从惯性测量单元(IMU)和全球定位系统(GPS)数据估计微型无人机的姿态与状态。该方法利用IEKF对系统状态进行递归估计,有效融合多源异构传感器数据,提高姿态解算精度与系统鲁棒性。文提供了完整的Matlab代码实现,便于研究人员复现算法并进行进一步优化与测试,适用于无人机导航、自主飞行与状态估计等应用场景。; 适合人群:具备一定控制理论、信号处理与无人机基础知识,从事无人系统导航、状态估计或传感器融合相关研究的科研人员及研究生。; 使用场景及目标:① 实现无人机在复杂环境下的高精度姿态估计;② 掌握基于IEKF的多传感器数据融合技术,提升无人机导航系统的可靠性与实时性;③ 通过Matlab仿真验证算法有效性,为实际飞行测试提供理论支撑。; 阅读建议:此资源以Matlab代码为核心,建议读者结合理论推导与代码实现进行学习,重点关注IEKF的状态预测与更新流程、IMU与GPS数据预处理及坐标系转换等关键环节,建议在仿真环境逐步调试,深入理解滤波器参数对估计性能的影响。

37,740

社区成员

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

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