機能が足りない場合#

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

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

  2. 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)