Excel VBA質問箱 IV

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

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


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

【77184】32ビット用APIエラー 明石屋たけし 15/6/10(水) 17:11 質問[未読]
【77185】Re:32ビット用APIエラー 独覚 15/6/11(木) 13:13 発言[未読]
【77186】Re:32ビット用APIエラー 明石屋たけし 15/6/11(木) 17:31 回答[未読]
【77187】Re:32ビット用APIエラー 独覚 15/6/12(金) 13:08 発言[未読]
【77195】Re:32ビット用APIエラー 明石屋たけし 15/6/15(月) 8:07 発言[未読]
【77202】Re:32ビット用APIエラー 独覚 15/6/16(火) 9:46 発言[未読]

【77184】32ビット用APIエラー
質問  明石屋たけし  - 15/6/10(水) 17:11 -

引用なし
パスワード
   すいません、初心者で切り貼りでプログラムを組んでいます。

キー入力したらそれを確認するマクロをネット上で見つけて作成しました。
以下の通りなのですが、

---------------------------------------------------------------------------
Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Long
Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Do
  If GetAsyncKeyState(37) <> 0 Then MsgBox "←キーが押されました"
  If GetAsyncKeyState(38) <> 0 Then MsgBox "↑キーが押されました"
  If GetAsyncKeyState(39) <> 0 Then MsgBox "→キーが押されました"
  If GetAsyncKeyState(40) <> 0 Then MsgBox "↓キーが押されました"

Call Sleep(1)
  DoEvents
Loop
---------------------------------------------------------------------------

当初は問題なく起動していたのですが、なんども繰り返し操作していると、エラー表示後excellが強制終了されてしまいます。

ネットでいろいろ検索をしてみると、どうやら
『Windows7が64ビット版でマクロの中で32ビット用APIを使用している』
ことが原因のようですが、私の少ない知識では解決策がみつかりません。

64ビット版でも問題の無いプログラムを教えていただけませんでしょうか。

宜しくお願い致します。

【77185】Re:32ビット用APIエラー
発言  独覚  - 15/6/11(木) 13:13 -

引用なし
パスワード
   ▼明石屋たけし さん:
Excelが32ビット版か64ビット版か、それと表示されるエラーが何か、とどこでエラーが
発生しているかを書いてくれませんか?

【77186】Re:32ビット用APIエラー
回答  明石屋たけし  - 15/6/11(木) 17:31 -

引用なし
パスワード
   独覚さん、ご返信ありがとうございます。

今、確認しましたら
Windows の種類:Windows 7 Professional 32ビット
Excel のバージョン:Excel 2013 32ビット
でした。
と、いうことは、エラーの原因は違うのかな??

エラーの種類に付きましては

唐突に『Maicrosoft Excellは動作を停止しました。』というエラーメッセージが出て
その下には『問題が発生した為、プログラムは正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWindowsから通知されます。』と表示されます。
その後、エラー報告を送信するかを聞いてきて、一度Excellが強制終了されてから、再度立ち上がります。

毎回、だいたい同じタイミングで落ちます。
なんだか、ますます分からなくなってきました。。

【77187】Re:32ビット用APIエラー
発言  独覚  - 15/6/12(金) 13:08 -

引用なし
パスワード
   ▼明石屋たけし さん:

>エラーの種類に付きましては
>
>唐突に『Maicrosoft Excellは動作を停止しました。』というエラーメッセージが出て
>その下には『問題が発生した為、プログラムは正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWindowsから通知されます。』と表示されます。
可能性としてブックの破損も考えられるので新しいブックを作ってそちらでも同じ状況になるか
試してはどうでしょうか?

【77195】Re:32ビット用APIエラー
発言  明石屋たけし  - 15/6/15(月) 8:07 -

引用なし
パスワード
   独覚さん
ありがとうございます。

早速、新しいブックにコードを写して実行してみましたが、やはり同様のエラーが起きてしまいました。
難しいですね。。

【77202】Re:32ビット用APIエラー
発言  独覚  - 15/6/16(火) 9:46 -

引用なし
パスワード
   ▼明石屋たけし さん:
こちらは
Windows 7 Professional 32ビット
Excel 2010 32ビット
(提示されたVBAをしばらく走らせましたがエラーは発生しませんでした)
なのであとはExcel2013を使っている人の回答を待ちたいですね。

一応近々2013購入予定なのですがWindowsが7の64ビットになるため参考になるか不明です。

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