Tag: com interface

从VBA访问串行端口的最佳方式是什么?

从VBA访问串行端口的最佳方式是什么? 我需要一些销售代表能够通过串行端口从PowerPoint中的操作button发送一个简单的string。 我通常不使用VBA,特别是对于这样的事情。 通常我会把它变成某种应用程序,但我其实并不认为这个想法是不好的。 这将是一个方便的工具,让他们在投影机上演示此设备,并与其他销售人员和非技术人员交谈。 另外,这个销售人员将不会对VBA或PowerPoint演示文稿进行小小的修改,但是在重新编译.NET应用程序时不会有任何问题。 我知道我们可以通过从动作演示中运行的batch file来完成,但是这并不会让我感到非常高兴。 我想我们可能可以访问一个COM对象并从那里运行,但是我再也不是真正了解VBA中使用的最新的和最大的库,也很快得到一个简单的入门知识,发送并closures连接。 由于这将需要在多人的电脑上运行,如果能够轻松地运送到其他机器上将是很好的。 我应该可以说它必须在Office 2007和Windows XP上运行。 与其他任何东西兼容将是一个不错的奖金,但。 我该怎么处理呢? 任何好的提示或技巧? 图书馆build议?

Python:使用Win32 COM Api打开Excel工作簿

我正在使用以下代码在Excel中打开并显示工作簿: import win32com.client as win32 excel = win32.gencache.EnsureDispatch('Excel.Application') wb = excel.Workbooks.Open('my_sheet.xlsm') ws = wb.Worksheets('blaaaa') excel.Visible = True 当文件“my_sheet.xlsm”已被打开时,Excel会询问我是否要重新打开而不保存。 我怎么能预先检查工作簿是否已经打开,如果是,就把它放在前面? 编辑 :现在发现: if excel.Workbooks.Count > 0: for i in range(1, excel.Workbooks.Count+1): if excel.Workbooks.Item(i).Name is 'my_sheet.xlsm': wb = excel.Workbooks.Item(i) break 还有一个问题 :我的工作表包含一些标题,我启用了一些过滤。 所以当filter被设置,当我从Python打开工作簿时,有时会要求我input一个唯一的名称来保存filter。 这是为什么? 这是对话: 编辑确定它说(德语)后面的问题是2007年和2010年文件中的已知错误: https : //social.msdn.microsoft.com/Forums/de-DE/3dce9f06-2262-4e22-a8ff- 5c0d83166e73 / excel-api-interne-namen ,它似乎存在,如果以编程方式打开Excel文件。 不知道是否有解决方法。