機能が足りない場合

xlwingsの機能が足りない場合には以下を行ってください:

  1. GitHub でissueをオープンしてください。これが最も重要なことです。機能の追加はユーザー要望を反映して行われるため、どんな機能が足りないかを我々に伝えていただければ、ライブラリーへの実装方法の検討を開始します。またプル リクエストも歓迎しています!

  2. 代替手段: 本質的には、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)