2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

xlwings.App 簡易リファレンス

Last updated at Posted at 2018-01-23

はじめに

これは xlwings 0.11.5 本家xlwings.Apps 本家xlwings.App の簡易日本語リファレンスである。

xlwings.Apps

Apps は全アプリ実行環境(Excelのインスタンス)を管理する。
VBA に相当するものはない?

import xlwings as xw
apps = xw.apps        # アプリ実行環境管理インスタンスを返す
apps.active           # アクティブAppインスタンスを返す VBA:ActiveWindow
apps.add()            # 新規Appインスタンス作成し返す
apps.count            # Appインスタンス数を返す
apps[0]               # Appインスタンスを返す
apps(1)               # Appインスタンスを返す

xlwings.App

App は単一のアプリ実行環境(Excelのインスタンス)を管理する。
VBA:Application に相当する。

app = xw.App(visible=None, add_book=True) # 新規アプリ実行環境を作成する
app.activate(steal_focus=False)           # アクティブ実行環境にする

app.calculate()                 # 計算を行う
app.calculation                 # RW 計算動作を設定する 'manual' 'automatic' 'semiautomatic'

app.display_alerts              # RW 警告表示するか設定する

app.macro('マクロ名')            # VBAマクロ操作用のインスタンスを返す
app.selection                   # 選択している Range インスタンスを返す VBA:ActiveCell
app.books                       # xw.Books() を返す
app.range(...)                  # xw.Range(...) を返す

app.screen_updating             # RW 描画更新を行うか設定する
app.visible                     # RW 表示非表示 True False

app.hwnd                        # HWND を返す
app.pid                         # PID を返す
app.kill()                      # アプリ実行環境を強制終了させる
app.quit()                      # アプリ実行環境を終了させる

app.version                     # Excel のバージョンを返す
app.api                         # ネイティブインスタンスを返す

マクロ呼び出し

App, Sheet, Book, Range は api プロパティーでネイティブインスタンスをマクロ引数にする事が出来る。

bk = xw.Book()
fn = app.macro('Func')          # 厳密に指定する場合は 'ブック名!シート名.関数名' となるハズ
fn(bk.api, 'a1')
Function Func(bk as Workbook, cellname as String)
    ...
End Function

その他

Excel 2010 において同じ xw.App インスタンスへの操作を繰り返すと OLE 操作が正しく行えないケースが発生した。 長時間安定動作が必要なケースではインスタンスを長く使わない事。

2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?