0

既存のワークブックに接続しようとして、接続が機能することを確認すると、次のようになります。

import xlwings as xw

wb = xw.Workbook('/users/edchigliak/sites/xlwings/htz/google/sem_google_realizacija_2016.xlsm')

print(wb.sheet(1).name)

Mac OSX Yosemite のターミナルで次のエラーがスローされます。

OSERROR: -1728 メッセージ: アクセスしようとしているオブジェクトは存在しません
コマンド: app(u'/Applications/MicrosoftExcel.app').workbooks['sem_google_realizacija_2016.xlsm'].name.get()

ワークブックが開かれ、マクロとデータ接続を有効にする許可を求めるプロンプトが表示されるので、すべて問題ありません。xlwings ライブラリからではなく、MicrosoftExcel.app で .name() メソッド (またはプロパティ?) を呼び出そうとしているように思えますか?

私が最終的にやりたいこと(プロセス全体を通過すること):

  1. この既存の .xlsm に接続します
  2. 'Sheet14.RangeF:F' と 'Sheet14.RangeI:I' を python dict に読み込みます
  3. これが成功したことを確認します

これについてどうすればよいか教えてください。

4

1 に答える 1

1

まず、パスが正しいことを確認します。たとえばopen /users/edchigliak/sites/xlwings/htz/google/sem_google_realizacija_2016.xlsm、ターミナルで実行して、正しく開くかどうかを確認します。

次に、シートの構文が間違っています。次のようになります。

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

最後にインスタンス化された Workbook が自動的に参照されることに注意してください。ワークブックを明示的に指定する場合は、現在、次のようにする必要があります。

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

ただし、この構文は近い将来に改訂される可能性があります。

于 2016-02-16T14:01:49.677 に答える