【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」でエクセルを操作すればファイルを開かなくても、中身を確認することができますね。
以前に「画像の貼り付け」なども試した記事があるので参考にしてください。
それではまた。

「画像の貼り付け」についてはこちら。

  • X

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です