连接到现有工作簿会在xlwings中引发错误

当我尝试连接到现有的工作簿并validation连接是否正常工作时,如下所示:

import xlwings as xw wb = xw.Workbook('/users/edchigliak/sites/xlwings/htz/google/sem_google_realizacija_2016.xlsm') print(wb.sheet(1).name) 

terminal在Mac OSX Yosemite抛出这个错误

OSERROR:-1728 MESSAGE:您尝试访问的对象不存在
COMMAND:app(u'/ Applications / MicrosoftExcel.app')。workbooks ['sem_google_realizacija_2016.xlsm']。name.get()

工作簿确实被打开 ,它会提示要求启用macros和数据连接的权限,所以一切都很好。 在我看来,如果我试图在MicrosoftExcel.app而不是从xlwings库调用.name()方法(或属性?)?

我最终希望做的事(贯穿整个过程):

  1. 连接到这个现有的.xlsm
  2. 阅读'Sheet14.RangeF:F'和'Sheet14.RangeI:我'成一个python字典
  3. validation这是成功的

请告诉我如何去做这件事。

首先确保您的path正确,例如尝试在您的terminal中open /users/edchigliak/sites/xlwings/htz/google/sem_google_realizacija_2016.xlsm以查看它是否正确打开。

其次,你的表格有错误的语法。 应该是这样的:

  import xlwings as xw wb = xw.Workbook(...) print(xw.Sheet(1).name) 

请注意,它会自动引用上次实例化的工作簿。 如果你想明确指定工作簿,你现在需要这样做:

 xw.Sheet(1, wkb=wb).name 

但是这个语法可能会在不久的将来被修改。