Python×Excel:図形に含まれる文字を取り出す方法【実用サンプル】

スポンサーリンク
Python

Excelファイルから、図形のテキスト情報を取得したい。
複数のExcelファイルで、図形のテキスト内容の違いを確認したいが、ファイルを開く手間を省きたい。
複数人でExcelファイルを作成すると、入力情報にばらつきがでて、あわせるために苦労した。


今回は、この問題を解決する方法が分かります。
図形の情報を一覧にできるため、違いが一目瞭然。
一覧にファイル名も載せると、ばらつきも簡単に直せます。

  

スポンサーリンク

サンプル:図形からテキスト情報を取得する。

Pythonを使って、Excelのオブジェクト情報を取得する場合は、xlwingsというパッケージを使用するだけで簡単に、情報を取得することができます。

 

Excelのサンプル

 

サンプルプログラム

import xlwings as xw
import glob

lists = glob.glob('*.xlsx')

for list in lists:
    wb = xw.Book(list)
    ws = wb.sheets[0]

    print(list)
    for s in ws.shapes:
        print(f"parent: {s.parent}","name  : {s.name}",s.text ') # 親オブジェクト
        #print(s.name[0:15])
        #print(f"type  : {s.type}")
        #print(f"top   : {s.top}")    # 垂直位置
        #print(f"left  : {s.left}")   # 水平位置
        #print(f"width : {s.width}")  # 幅
        #print(f'height: {s.height}') # 高さ

    sht = wb.close()

 

出力例

Book1.xlsx
サンプル図形1
name  : Rounded Rectangle 1 
Rounded Rectang
parent: <Sheet [book1.xlsx]Sheet1>
type  : auto_shape
top   : 64.0
left  : 217.0
width : 307.0
height: 210.0
サンプル図形2
name  : Rounded Rectangle 3 
Rounded Rectang
parent: <Sheet [book1.xlsx]Sheet1>
type  : auto_shape
top   : 169.0
left  : 318.0
width : 307.0
height: 210.0
サンプル図形99_帳票
name  : Flowchart: Document 5 
Flowchart: Docu
parent: <Sheet [book1.xlsx]Sheet1>
type  : auto_shape
top   : 292.0
left  : 386.0
width : 291.0
height: 192.0
タイトルとURLをコピーしました