Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9346 / 13644 ツリー ←次へ | 前へ→

【27865】「電卓」の値を利用したい paul 05/8/22(月) 17:08 質問[未読]
【27875】Re:「電卓」の値を利用したい りん 05/8/22(月) 19:13 発言[未読]
【27877】Re:「電卓」の値を利用したい paul 05/8/22(月) 22:14 発言[未読]
【27878】Re:「電卓」の値を利用したい Kein 05/8/22(月) 23:49 発言[未読]
【27879】Re:「電卓」の値を利用したい m2m10 05/8/23(火) 8:08 発言[未読]
【27888】Re:「電卓」の値を利用したい paul 05/8/23(火) 13:21 お礼[未読]

【27865】「電卓」の値を利用したい
質問  paul  - 05/8/22(月) 17:08 -

引用なし
パスワード
   Shell ("calc.exe")
で、電卓が表示されます。
この電卓で計算をしたあと、電卓の閉じるボタンを押して終了したとき、
その計算結果を戻値として、変数に代入して利用したいのですが、可能でしょうか。

【27875】Re:「電卓」の値を利用したい
発言  りん E-MAIL  - 05/8/22(月) 19:13 -

引用なし
パスワード
   paul さん、こんばんわ。

>Shell ("calc.exe")
>で、電卓が表示されます。
>この電卓で計算をしたあと、電卓の閉じるボタンを押して終了したとき、
>その計算結果を戻値として、変数に代入して利用したいのですが、可能でしょうか。

表計算ソフトを使っているのに、どうして電卓が必要なのでしょうか?

【27877】Re:「電卓」の値を利用したい
発言  paul  - 05/8/22(月) 22:14 -

引用なし
パスワード
   ▼りん さん:

ごもっともな問いかけです。

>paul さん、こんばんわ。
>
>>Shell ("calc.exe")
>>で、電卓が表示されます。
>>この電卓で計算をしたあと、電卓の閉じるボタンを押して終了したとき、
>>その計算結果を戻値として、変数に代入して利用したいのですが、可能でしょうか。
>
>表計算ソフトを使っているのに、どうして電卓が必要なのでしょうか?

私は家計簿を入力するマクロを作成しています。

費目と明細等の入力負担をなるべく省くため、入力専用のユーザーフォームを作りました。
たとえば、費目に「野菜」を指定すると「玉ねぎ、人参・・・」等の明細が列記され、選択するだけで入力ができます。

今、スーパーのレシートを見ながら入力する場合、たとえば79円の品物を4個購入した場合、79円×4個=316円と1行で表示されていればいいのですが、79円×1個が4行にわたり表示されていることがあります。このほかにも「2割引」とか「20円引」とか色々あります。

このとき、今は恥ずかしながら(暗算は苦手なので)本物の電卓を引っぱりだしてきて、計算し1行にしてから入力しています。

せっかくコンピュータで入力しているのだから、アクセサリの電卓を使えれば本物を出す手間が省けると思いました。shell関数で呼び出せることまでは調べられましたが、引数として戻り値を受け取れればなお良いと思いましたが、調べられませんでした。

以上のような理由です。つまらない話をながながとすみませんでした。

【27878】Re:「電卓」の値を利用したい
発言  Kein  - 05/8/22(月) 23:49 -

引用なし
パスワード
   結論から言うと、ユーザーフォームにボタンとテキストボックスを配置して、
電卓を自作してしまうやり方が簡単で分かりやすいと思います。

【27879】Re:「電卓」の値を利用したい
発言  m2m10  - 05/8/23(火) 8:08 -

引用なし
パスワード
   こんちは

 一つの案ですが

   テキストボックスに

   10*10  改行 で 10*10=100 と表示

   みたいな、計算式ルーチングも面白いと思います。

【27888】Re:「電卓」の値を利用したい
お礼  paul  - 05/8/23(火) 13:21 -

引用なし
パスワード
   皆様

アドバイスを頂きありがとうございます。

とりあえず、簡単な掛算ならユーザーフォーム上でできるように改良し、
電卓が必要な場合は「アクセサリの電卓」を呼び出すCommandButtonをつくりました。
閉じるボタンによる電卓からの戻り値はできませんが、手入力かコピペで対応します。

shell関数については今回の電卓問題で初めてその存在を知りました。
これが自在にできれば、その先には素晴らしい世界があるように思っています。

その際、引数をどう指定するのか、戻り値をどう受け取るのか、について「電卓」を
ひとつの例として、勉強できればと思いました。「0から1」への進歩です。
これをきっかけに、次の難問に答える選択肢が増えるのです。

今後もこのことを気にかけながら、質問箱を利用させてもらいます。

9346 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free