機能が足りない場合¶
xlwingsの機能が足りない場合には以下を行ってください:
GitHub でissueをオープンしてください。これが最も重要なことです。機能の追加はユーザー要望を反映して行われるため、どんな機能が足りないかを我々に伝えていただければ、ライブラリーへの実装方法の検討を開始します。またプル リクエストも歓迎しています!
代替手段: 本質的には、xlwingsはWindowsの pywin32 およびMacの appscript のスマート ラッパーでしかありません。
api
プロパティを使えば元にあるオブジェクトにアクセスできます:>>> sheet = xw.Book().sheets[0] >>> sheet.api <COMObject <unknown>> # Windows/pywin32 app(pid=2319).workbooks['Workbook1'].worksheets[1] # Mac/appscript
上記は
sheet.range('A1').api
等の別のオブジェクトでも同様に使えます。元になっているオブジェクトのpywin32 (VBAとほぼ同じAPI) およびappscript (VBAとは違うAPI)を使えば、VBAで使えるほとんどすべての機能が利用できます。
api
を使う場合には、見た目が悪くなること意外に、 コードがプラットフォーム依存になってしまう (!) ことに注意してください。したがって、2.の代替手段を採る場合でも、 1.にあるようにissueをオープンし機能がライブラリー(クロスプラットフォームかつパイソニックなシンタックス)に取り込まれるようにしてください。
例: 代替手段でVBAの Range.WrapText
を使用¶
# Windows
sheet.range('A1').api.WrapText = True
# Mac
sheet.range('A1').api.wrap_text.set(True)