Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Access マクロアクション Calc.exeを起動

More than 1 year has passed since last update.

VBAではなくアクションマクロです

Windows電卓、計算機と呼ばれるCalc.exeの起動はよくあるマクロで、とても便利です

https://www.moug.net/tech/acvba/0090002.html

Excelは実はQATにある

Quick Access Toolbarをすべてのコマンドにして「だ」行の読みができる漢字、
電子メールの下に電卓があります
image.png
image.png
電卓は演算誤差がありますし、最新の電卓は異常に使いづらくなっていますが、一応値のコピペができるという特徴があります。
このため電卓で計算した結果をエクセルに再度入力するという手順は、Windows電卓で計算して、その結果をコピペするほうが正確です。
しかし、電卓はこのようにクィックアクセスツールバーに登録できるので、あまり必要がありません。

AccessはQATにない

Excelと同じようにすべてのコマンドを表示します。
しかし、そのようなコマンドは存在しません。
電子メールの下に、電卓がないのです。
image.png

VBAより手軽なMacroActionで起動する

image.png
作成からマクロをクリックします。

隠しコマンドを表示

マクロツール アクションカタログ そしてすべてのアクションの表示の2つをクリックして選択状態にします。
image.png
アクションカタログに検索バーが表示されているのでアプリケーションのと入力します
image.png
するとアプリケーションの実行が表示されます。これをダブルクリックすると、左に命令が入ります。
image.png
このコマンドラインにcalc.exeを入れて、ctrlキー+wで閉じます。MacroAcrtionの名前はT_Calcとします。これは主にツール系のマクロアクションと言えるからです。
image.png
image.png
これでナビゲーションペインのマクロに表示されます。いつでもここから表示できます。

VBAからでもアクションマクロを使って電卓が起動可能で、コードもシンプル

Sub RunCalc()
DoCmd.RunMacro "T_Calc"
End Sub

シンプルと言うか、そのまんまです。
ところでなぜフルパスでなくていいのかは、おそらく、環境変数を読み込んでいることが原因と考えられます。

Docmd.Runcommandの補完

https://www.moug.net/tech/acvba/0090028.html
実はDoCmdに直接アプリケーションを実行する命令はありません。
RunCommadにもないです。
このため、このRunMacroを介してアプリケーションを実行する方法が必要になります。

応用としてNotepad

実はExcelとWordはQATにあるので、いらないといえばいりません。
しかし、Calc.exeと同様に

  • メモ帳なら Notepad.exe T_NotePad

というように応用できます。

英語名はRunApp

大体変わらないので2010でも十分ですが、ここに英語の対応表があります。
https://www.helpforest.com/access/ac_list/ac100002.htm
これによるとマクロアクションのアプリケーションの実行はRunAppになります。

Q11Q
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away