そもそもVBA(Visual Basic for Application)とは
そもそもPythonのインタラクティブシェルとは
details
対話モードともいう、PCに最初からインストールされているコンソール(Windowsならコマンドプロンプト、Macまらターミナル(※VScode等のターミナルとは別物である))から呼び出すことのできるPythonを1行ずつ実行する実行環境
なお、Python関連の本を買うと、よくAnacondaという開発環境を使うようにかいてあることがありますが、私は下記の参考資料⑥『確かな力が身につくPython「超」入門 鎌田正浩 著』に従い、VScode上(?)に開発環境作り、Javaも含め、できる限り一本化していて(とりあえず今のところは、何か動いていて)インタラクティブシェルを使う場合は個人的にそれが楽なので、
以下ここで言うインタラクティブシェルは、WindowsならVScodeのpowershellやcmd(コマンドプロンプト)で、MacならVScodeのzshで、下図のような「python&Enter」で起動させるVScode上でのインタラクティブシェルを指すものとします。
1行ずつ入力していくのは面倒ですが、一旦入力したものは他のターミナルやシェル同様、↑↓キーでその時点でのインタラクティブシェルを閉じるまでは、過去にどこかの行で入力したものの履歴コピー(名称?です)が出てくる
かつ
マウス操作をする場合は、一般的な方法でコピーして、ペーストするときはクリックしてカーソルを合わし、右クリックするとペーストできる
ので手早く出力結果を知りたいときに自分はよく使います。
なお、「インタラクティブ」は「inter(相互)」+「active(作用)」みたいな語源がある気がします
「イミディエイトウィンドウ」はたぶん「immediate window」
コードの動作を確認したり、ユーザー定義関数を使って計算した結果を確認したりできるVBAにおけるインタラクティブシェルっぽいやつ。
開発タブ⇒VBE(Visual Basic Editor)⇒表示タブ⇒イミディエイトウィンドウ
で出てきます例えば、以下のようにFunctionプロシージャを書いてユーザー定義関数を定義した後
' 書式 Function 関数名(引数1 As データ型, 引数2 As データ型,…)As 戻り値のデータ型
' ※データ型の指定は省略可能
' なお、このユーザー定義関数はワークシートのセルに直接書き込んで使用することができる。
Function 税込(価格 As Currency) As Currency
税込 = Int(価格 * 1.1)
End Function
これを呼び出すマクロを考えて書く前に、
?関数名(引数の例) ここでなら例えば「?税込(100)」
をこのイミディエイトウィンドウに入力すると以下のように出力結果を得られる。主な参考資料
①今すぐ使えるかんたん Excel マクロ&VBA 技術評論社 門脇香奈子 著
②スピードマスター エクセル自動化 VBAサンプル100 コピってイジってすぐ使える 技術評論社 今村ゆうこ
③HITACHI Inspire the Next RPA業務自動化ソリューション【コラム】VBAとマクロの違いとは?VBA・マクロができること、マクロの作り方を徹底解説!
https://www.hitachi-solutions.co.jp/rpa/sp/column/rpa_vol26/
④エクセルの神髄( ExcelとVBA の入門解説)
Excel および マクロ VBA 全般について入門解説から上級者に役立つ技術情報まで幅広く発信しているサイト。GAS、Python、SQLといった関連情報も載っている
https://excel-ubara.com/
⑤最初からそう教えてくればいいのに! PythonでExcelやメール操作を自動化する ツボとコツがゼッタイにわかる本 立山秀利 著 秀和システム社
⑥確かな力が身につくPython「超」入門 第2版 (確かな力が身につく「超」入門) 鎌田正浩 著 SB creative社