オープン中のExcelファイルへの読み書きをする場合に可能な方法の1つがpywin32ライブラリを使用するというものです。
まずはじめに、pywin32ライブラリのインストールが必要となりますがインストール方法としては以下となります。
1.pywin32のインストール
pywin32ライブラリは標準ではインストールされていないため、pipコマンドでインポートします。
pip install pywin32
2.アクティブファイル(Excelファイル)への書込みコード例
次に、実際のpyファイルにて、ファイルの先頭で先程のライブラリ内にあるwin32comモジュールをインポートします。
import win32com.client
その後、Excelがすでに起動されている場合は、Getobjectを使用してExcelを取得します。
xl = win32com.client.GetObject(Class="Excel.Application")
そのExcelに対して、通常のExcel操作と同様に以下のように指定することでアクティブシートの「A12」へ"hello, world!"を書き込むことが出来ます。
xl.Range("A12").Value = "hello, world!"
全体としては以下のようになります。
import win32com.client xl = win32com.client.GetObject(Class="Excel.Application") xl.Range("A12").Value = "hello, world!"
以上がファイルオープンしているファイル(アクティブファイル)への書込方法の説明になります。