【python】pywin32でExcelのセルの一部の文字列に対してフォントの変更を行いたい
解決したいこと
pywin32でExcelのセルの中の一部の文字列に対してフォントの変更を加えたいです。
Excelのマクロ(vb)であれば以下のような記述で実現できることをpywin32ではどのように書けばよいのでしょうか。
マクロの場合
'選択しているセルの2文字目から3文字(2-4文字目)を太字にするマクロ
Sub bold()
Selection.Characters(2, 3).Font.Bold = True
End Sub
自分で試したこと
とりあえずpywin32でも以下のコードのようにCharactersを使ってみますが
python
import win32com.client
# 編集中のExcel情報を取得
xl = win32com.client.GetObject(Class="Excel.Application")
# ActiveSheetを取得
ws = xl.ActiveSheet
# excelが動いている様子を見る
xl.Visible = True
# cell(B2)の2~4文字目を太字にしたい
ws.Range("B2").Characters(2, 3).Font.Bold = True
以下のエラーがでてきます
エラー
Traceback (most recent call last):
File "c:\Users\XXX\XXX\Documents\XXX\TestPywin32.py", line 10, in <module>
ws.Range("B2").Characters(2, 3).Font.Bold = True
File "C:\Users\XXX\AppData\Local\Programs\Python\Python39\lib\site-packages\win32com\client\dynamic.py", line 181, in __call__
return self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352573, 'メンバーが見つかりません。', None, None)
ご存じの方いらっしゃいましたらご教示お願い致します。
0