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