【Python】VBAをPythonで再現してみる①
以前に「エクセル」で出来るプログラミングとして「VBA」を紹介しましたが
今回は「Python」でその中身を再現していきたいと思います。
VBAをPythonで再現してみよう
「VBA(Visual Basic for Applications)」とは、Excel,Word,PowerPointなどOfficeのアプリの機能をカスタマイズできるものですね。
今回再現していくものとして「セルの値を取得」をやっていきます。
VBAでの「セルの値を取得」についてはこちら。
Pythonでエクセルを操作する
今回「python」でエクセルを操作するために「openpyxl」を使っていきます。
「openpyxl」についてはこちら。
セルの値を表示させよう
今回はセル[A1]の値をメッセージボックスに表示させていきます。
まずは新規のエクセルファイルを作成して、セル[A1]に値を入力しましょう。
「Hello」と入力してみました。
保存して閉じておきましょう。
モジュールをインポートしよう
まずはメッセージボックスを表示させるための「messagebox」と「openpyxl」をインポートしていきましょう。
from tkinter import messagebox
import openpyxl as xl
エクセルファイルを指定して読み込もう
先ほど作成したエクセルファイルのパスを「excel_path」の中に代入していきます。
from tkinter import messagebox
import openpyxl as xl
-----------------------------------------------------------
excel_path = r"C:\○○○○\python.xlsx"
wb = xl.load_workbook(excel_path)
sheet = wb['Sheet1']
これで読み込んだエクセルファイルのシート選択まで完了です。
セルの値を表示させよう
まずは「a」という変数を設定して、そこにセル[A1]の値を代入します。
from tkinter import messagebox
import openpyxl as xl
excel_path = r"C:\○○○○\python.xlsx"
wb = xl.load_workbook(excel_path)
sheet = wb['Sheet1']
------------------------------------------------------------
a = sheet['A1'].value
次にメッセージボックスに表示させるために「messagebox.showinfo」に「a」の中身を渡します。
from tkinter import messagebox
import openpyxl as xl
excel_path = r"C:\○○○○\python.xlsx"
wb = xl.load_workbook(excel_path)
sheet = wb['Sheet1']
a = sheet['A1'].value
------------------------------------------------------------
messagebox.showinfo('セルの値',a)
wb.close()
「セルの値」はメッセージボックスの名前です。
好みで変えてください。
最後にエクセルファイルを閉じます。
実行してみよう
「vba.py」を実行して確認してみましょう。
このように表示されたでしょうか。
まとめ
「python」でエクセルを操作すればファイルを開かなくても、中身を確認することができますね。
以前に「画像の貼り付け」なども試した記事があるので参考にしてください。
それではまた。