「pywin32 UsedRange 最初の行」
「pywin32 UsedRange() 1行目」
といった検索で、このサイト『インストラクターのネタ帳』へアクセスがありました。
Pythonの外部ライブラリpywin32を使って、ExcelのUsedRangeプロパティで取得したRangeオブジェクトの、1行目を表すRangeオブジェクトを取得するには、どのようなコードを書けばいいのかを探していらしたのでしょう。
pywin32でUsedRangeの1行目を取得するPythonのサンプル
Cドライブのtempフォルダーにsample.xlsxが存在する状態で、以下のスクリプトを実行してみてください。
xl = win32com.client.Dispatch('Excel.Application')
xl.Visible = True
bk = xl.Workbooks.Open(r'C:\temp\sample.xlsx')
sht = bk.Sheets(1)
rng.Select()
print(rng.Address)
sample.xlsxが開かれ、
bk = xl.Workbooks.Open(r'C:\temp\sample.xlsx')
1枚目のシートの、
sht = bk.Sheets(1)
UsedRangeで取得したセル範囲の1行目が、
rng = sht.UsedRange.Rows(1)
選択され、
rng.Select()
そのセル番地が絶対参照形式で出力されます。
print(rng.Address)
UsedRangeの1行目を取得するExcel VBAのサンプル
上記のスクリプトは、どれだけPythonに詳しくても、Excelのオブジェクトモデルを理解できていない限りは書けないはずです。
同じ処理をExcel VBAで書くなら、以下のようなSubプロシージャです。
Dim bk As Workbook
Set bk = Workbooks.Open("C:\temp\sample.xlsx")
Dim sht As Worksheet
Set sht = bk.Sheets(1)
Dim rng As Range
Set rng = sht.UsedRange.Rows(1)
rng.Select
Debug.Print rng.Address
End Sub
Excel VBAですから、Pythonの、
import win32com.client
xl = win32com.client.Dispatch('Excel.Application')
xl.Visible = True
に該当する部分はありませんけれど、
bk = xl.Workbooks.Open(r'C:\temp\sample.xlsx')
以降は、よく似たコードです。
最終更新日時:2023-04-20 15:44
- Newer:Word VBAのSelection.Collapseとは
- Older:Pythonのinput関数を確認しましょう
Home » Python » pywin32・win32comの使い方 » pywin32・win32com.clientでExcelのUsedRange1行目を取得する