【関数・メソッド・プロパティ設定をつかう】

3 文字列の指定位置から指定文字分の文字列を取得

4 三つのブラケットスライス書式をつかう

5 文字列の指定位置から1文字を取得

6 文字列の文字数を取得

7 文字列のループで1文字ずつ分解

8 文字が入っているセルの最大行を取得

9 文字が入っているセルの最大列を取得

文字列の文字数を取得

 Pythonには、対象となる文字列式の文字数を一瞬で数えてくれる便利な関数があります。

 それが、len関数です。

Img7_2_11

 len関数では、引数:Stringに対象となる文字列を入れると、

 戻り値として、対象となる文字列の文字数を受け取ることができます。


 予め、次のようなExcelシート『sheet1』を用意して、

 Excelブック名を『WkBook2.xlsx』として保存します。

Img7_2_12

 この『WkBook2.xlsx』の『sheet1』を読みこみます。

 xlwingsをつかいPythonで既存Excelを読みこみ操作するときは、

 Workbookファイルをメモリ上に読みこむと同時にWorkbookオブジェクトを生成、

 ( 『xlwingsをつかい既存Workbookを読みこみファイル保存』参照 )

 更に、sheetオブジェクトを生成して、そのsheetを操作します。

 Workbookオブジェクト名を『wb』、sheetオブジェクト名を『st』とします。


 ソースコードパネルに

import xlwings

wb = xlwings.Book('WkBook2.xlsx')

st = wb.sheets['sheet1']

 と記述しておきます。


 len関数をつかってみます。

 引数としてセルA2から取得した文字列を渡してから、

 文字数を受け取り、セルC2に格納します。

 左辺には、st.range('C2').value

 右辺には、len関数

       引数:Stringにst.range('A2').value

 を当てはめれば良いのだから、

 st.range('C2').value = len(st.range('A2').value)

 と記述します。


 【ソースコードパネル】

import xlwings

wb = xlwings.Book('WkBook2.xlsx')

st = wb.sheets['sheet1']

st.range('C2').value = len(st.range('A2').value)


 それでは、そのPythonプログラムを実行してみます。

Img7_2_13

 『セルを思いのままに動かそう』の文字数が、

 セルC2に『13』と書きこまれました。



 試しに、対象文字列:セルA2の値を

 適当な文字に書きかえて、Pythonプログラムを実行して、

 対象文字列の文字数がlen関数で取得できることを確かめてみてください。




目 次

1. ワークブックを作成する
ワークブックを作成する

2. セルの位置を指定する
セルの位置を指定する

3. ループ処理でセルに値を書きこむ
ループ処理でセルに値を書きこむ

4. ループ処理でセルの値を読みとる
ループ処理でセルの値を読みとる

5. ループ処理でセルからセルへ値を代入する
ループ処理でセルからセルへ値を代入する

6. 条件分岐処理でセルの操作を分ける
条件分岐処理でセルの操作を分ける

7. 関数・メソッド・プロパティ設定をつかう
関数・メソッド・プロパティ設定をつかう

8. 他のレンジ/シート/ブックを更新する(未公開)
他のレンジ/シート/ブックを更新する
(未公開)

1 他のレンジを更新

2 他のシートを更新

3 逆Z式並びで更新

4 複数シートを更新

5 他のブックを更新

6 他のブックをオープン・クローズ

7 新規ブックを作成し更新






YouTube

Excelマクロの実用版とデモ版


ブログ