この人頭いいなと思ったエピソード

先ほどこちらで以下のすばらしいマクロを教わりました。

Sub my電卓()
On Error GoTo mg
x = Shell("calc.exe")
Exit Sub
mg: MsgBox "ごめん、電卓が" _
+ Chr(&HD) + Chr(&HA) + "探せない・・・", vbExcritical, "(^^;)"
End Sub

それで、ワークシートに配置したアイコンをクリックすると電卓が出るのですが、電卓が出ているときに再度アイコンをクリックすると電卓が最小化され、さらにクリックすると二つ目の電卓が出てしまいます。
電卓がでている状態でクリックしたら電卓を終了するようにしたいのですがどのように変えればいいのでしょうか?

A 回答 (2件)

>そのままコピペしてみましたがエラーです。


どういうエラーでしょうか?コンパイルエラーでしょうか?それとも実行時エラーでしょうか?
そのままコピペということなので、たぶん、コンパイルエラーだろうと推測して書きますが、
>'---------------------------------------------
>' Module
>'---------------------------------------------
以下の部分は、Excel VBA の画面で、メニューの「挿入」→「標準モジュール」で標準モジュールを新しく作成して、そこの貼り付けてください。
ワークシートのコードに貼り付けるなら、先頭の方の(General)-(Declarations) のところに貼り付けて、
Public → Private に置換してください。
    • good
    • 0
この回答へのお礼

はい、コンパイルエラーでした。
今度はうまくいきました。ありがとうございました!

お礼日時:2004/03/23 20:30

この回答への補足

さっそくありがとうございました。
参考ページ拝見いたしました。残念ながら高度すぎて理解不能です。
そのままコピペしてみましたがエラーです。

ほかにもいろいろ検索してSendkeyでALT+F4で終了させる手を見つけました。ところが
Sub 電卓終了()
SendKeys "%{F4}", True ' Alt + F4 キーを転送
End Sub
を設定したボタンをクリックすると、電卓が最小化されてしまいうまくいきません。
何か方法がないでしょうか?

補足日時:2004/03/23 11:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!