機能が足りない場合¶
xlwingsの機能が足りない場合には以下を行ってください:
GitHub でissueをオープンしてください。これが最も重要なことです。機能の追加はユーザー要望を反映して行われるため、どんな機能が足りないかを我々に伝えていただければ、ライブラリーへの実装方法の検討を開始します。またプル リクエストも歓迎しています!
Workaround: in essence, xlwings is just a smart wrapper around pywin32 on Windows and appscript on Mac. You can access the underlying objects by calling the
api
property:>>> sheet = xw.Book().sheets[0] >>> sheet.api # Windows (pywin32) <win32com.gen_py.Microsoft Excel 16.0 Object Library._Worksheet instance at 0x2260624985352> # macOS (appscript) app(pid=2319).workbooks['Workbook1'].worksheets[1]
上記は
sheet.range('A1').api
等の別のオブジェクトでも同様に使えます。元になっているオブジェクトのpywin32 (VBAとほぼ同じAPI) およびappscript (VBAとは違うAPI)を使えば、VBAで使えるほとんどすべての機能が利用できます。
api
を使う場合には、見た目が悪くなること意外に、 コードがプラットフォーム依存になってしまう (!) ことに注意してください。したがって、2.の代替手段を採る場合でも、 1.にあるようにissueをオープンし機能がライブラリー(クロスプラットフォームかつパイソニックなシンタックス)に取り込まれるようにしてください。
例: 代替手段でVBAの Range.WrapText
を使用¶
# Windows
sheet['A1'].api.WrapText = True
# Mac
sheet['A1'].api.wrap_text.set(True)