• ベストアンサー

アクセス マクロでキー送信:%FK(アクセス終了)を指定するとNumLockがオフになってしまう

お世話になります。 アクセスのフォーム上にボタンを作成し、マクロにキー送信:%FK(アクセス終了)を指定して、実行するとNumLockが自動的にオフになってしまう現象が発生して困っております。 マクロには以下を設定してます。 フォーム上の閉じるボタンコントロールには以下のマクロをつけてます。  1.閉じる(フォーム)  2.キー送信(%FK) 原因と解決策があれば教えていただけますでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

キー送信は何かと不具合が起きますから、可能な限り使わないように。 アクセスを終了させるなら、 マクロのアクション「終了」で。

tochou4848
質問者

お礼

ありがとうございました!! すぐにご回答いただけて大変助かりました。

その他の回答 (1)

noname#140971
noname#140971
回答No.2

Private Sub Form_Close()   Application.Quit End Sub 私がトップメニューに書いているAccess を終了させるコードです。

tochou4848
質問者

お礼

ありがとうございます! いずれVBAにもトライしたいと思います。 大変たすかりましたOrz

関連するQ&A

  • アクセスのマクロ設定について

    アクセスにてフォームを作成しています。 フォーム(フォーム1)に別のフォーム(フォーム2)を開くボタン(マクロ)を作成しました。 フォーム1の主キーと同じキーのレコードを指定して、フォーム2で 開かせたいのですが、どのようにマクロを設定すれば良いのでしょうか。 前のレコードや先頭のレコードへの移動はメニューから選択できた ので分かったのですが、上記の方法は分かりませんでした・・・。 何卒よろしくお願い致します。

  • access2003 コントロールの指定方法

    ACCESS2003です。 フォーム上のあるコントロールを再クエリしたいのですが、 マクロの中で指定するときそのコントロールの指定方法が分かりません。 自分のフォームの中のコントロールを指定するには、マクロの中でアクション とコントロールを次のように指定すればできるのですが、     再クエリ    コントロール これが他のフォーム上でのコントロールを指定するときマクロ上でどのように 指定すればいいでしょうか。     再クエリ    forms![フォーム1]![サブフォーム1]![コントロール1] のように指定して試したのですが、エラーになってしまいました。 よろしくお願いします。

  • エクセル NUMLOCKキーの常時オンについて

    表題の質問をさせていただきます。 仕事場に入っているシステムがキーボード上部のボタンに様々な機能を割り当てていまして、システム独自の機能を有するように設計されています。  割り当てられているのは↓です。   デスクトップ用キーボードで、ファンクションキーやテンキー上部のキー(Num / * -) このシステムを利用しながらエクセルも同じPCで稼動させています。 ファンクションキーはさほど困らないのですが、NumLockキーをシステムで利用するので頻繁にONになったりOFFになったりします。 システムからエクセルに変更をした際にNumLockがオフになっていることが確率的に半数あり、その際はテンキー入力をすると あらぬ位置に入力セルが飛んでいってしまい困っています。 あらぬ位置に飛んでいってしまったときはマクロ登録してあるボタンで所定の位置に戻ってくるように設定しています。  ウインドウ枠の固定で画面を上下に分割していて 上部にマクロボタンを設置してあります。 いろいろと調べてWorkbookやWorksheetのActivateイベントに↓を記述しました。 Set WshShell = CreateObject("WScript.Shell") WshShell.SendKeys "{NUMLOCK}" しかし、システムから切り替わった場合には動作しませんでしたし、エクセル内での動きとしてもシートチェンジ毎にONとOFFになってしまい、いい動きにはなりませんでした。 システムから切り替わったタイミングをと思い、SelectionChangeにも記述しましたが、当然ながらクリックするたびにON・OFFになってしまい…。 どうにか、エクセルがアクティブになっている時は NumLockを常時ONにする方法はないでしょうか。 お知恵を拝借したく投稿しました。 エクセル2003です。よろしくお願いいたします。

  • アクセスでのキー送信について

    アクセスでマクロを作成しているのですが、処理途中でポップアップ 画面がでてしまい、処理がとまってしまいます。これを回避するために キー送信をしているのですが、正常に動きません。 なにかコツがあるのでしょうか? ■アクションの引数   キー操作:Y  待機:いいえ ■アクションの内容  キー送信  クエリー  キー送信  クエリー  キー送信  クエリー というような処理を5回したあとに最後に終了という記述をしています

  • Access97→2000変換後にマクロが作動しない

    Access97で作成したアプリケーションソフトをAccess2000に変換したところ、マクロのところがうまく作動しません。OSはXPです。 それもフォームを開く際に特定のレコードを指定するためのWhere条件式[コントロール名]=[Forms]![フォーム名]![コントロール名]を設定してあるのですが、ここがうまくゆきません。 すなわちAccess97だとこのマクロを実行するとコントロール名で数値を入力するように訊いてくるのですが、access2000変換後はいきなり数値入力されないで(=レコードを特定できないで)フォームが開くだけになってしまいます。 似たような別のマクロで、特定のレポートを開くマクロでは、この同じWhere条件式は、ちゃんと作動します。 なぜAcces97で作動するフォームのWhere条件式が、2000では作動しないのでしょうか? またこのような97→2000変換後の不具合はほかの部分でもおこるのでしょうか? 今のところ、動かした範囲では他の不具合は見あたらないのですが・・・ Accessのバージョンアップについて詳しい方、どなたかよろしくお願い致します。

  • Accessのマクロで出来ますか?

    Access2002です。 あるフォームの画面にコマンドボタンを取り付けそれをクリックしたとき他のフォームが開くようにマクロを貼り付けてあります。ココまではうまくいっているのですがこの新たに開くホームが最大で開いてしまいます。(元のフォームが最大になっているからでしょうか)訳があってこの新たに開くフォームは最大でなく指定した大きさで開きたいのですがマクロの中の「サイズ変更」を入れてやってみましたがどうもうまく行きません。VBAでなくマクロの中の指令で何とか出来るでしょうか。 叉新しく開いたフォームにもコマンドボタンを貼付けこれをクリックすると最初のフォームに戻るようにしてありますが戻るときは最初のフォームは最大にしたいのです。これもいろいろやってみましたが、新しく開いたフォームが最大なら戻ったフォームも最大になりますが新しく開いたフォームを手動で小さくしていると戻ったフォームも最大になっていません。戻るときのマクロをいじってみましたがうまく行きません。 やりたいこと 最大化しているフォームからマクロで開くフォームは任意の(私の希望した大きさ)大きさで開き戻るときは最初の最大化されたフォームです。 よろしくです。

  • Accessのマクロについて教えてください。

    WinXP Access2002です。 現在Accessのあるフォームにコマンドボタンを貼り付けこのボタンをクリック時にマクロでアプリケーションの実行を指定しExcelのファイルを開いています。具体的には c:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE10\EXCEL.EXE D:\EXCEL\AAAY\BBB.XLS です。D:\以下はExcelで作ったファイルの格納場所です。現在これでうまくいっています。 この場合BBB.xlsしか立ちあがりません。これはこれでBBB.xlsだけで用が足りているので何ら問題ないのですがやろうとしていることは¥AAAのホルダーに入っている複数のCCC.xls、DDD.xls・・・・・・等をマクロの途中ダイアログボックス等で仮に今ほしいファイルがXXX.XLSだったとしたら目的のXXX.xlsを指定し開く方法がありますでしょうか。 又これが駄目ならマクロで¥AAAのホルダーまで開く方法はあるのでしょうか。何せAccessのマクロでExcelは立ちあがりますが沢山のホルダーがあるので一歩でも自動で近づきたいのです。方法がありましたらよろしく教えてください。

  • 日本語入力ONかつ「NumLock」ONのマクロ

    Excelを起動したときに、「NumLock」キーがOFFにならないようにしてONのままで、IMEが日本語入力ONで起動できるようにしたいのです。 Excel2010では、起動したとき、下記の3行マクロで「NumLock」キーがOFFにならずにONのままで、IMEを日本語入力ONで起動できておりました。。 Sub Auto_Open() SendKeys ("{kanji}") End Sub しかし、Excel2013では、IMEは日本語入力ONになるにはなるのですが、SendKeysの影響で「NumLock」キーがOFFになってしまいます。 「NumLock」キーをONにするために、Call numLockOnを挿入して、 Sub Auto_Open() SendKeys ("{kanji}") Call numLockOn End Sub としましたが、「NumLock」キーがOFFになってしまいます。 「NumLock」キーをONにしたいのですが、記述の何が足らないかお教えいただけませんか。 よろしく、お願いします。

  • access フォームのコマンドボタンをマクロ実行

    access97 フォームの中のコマンドボタンをひとつのマクロで実行したい お世話になります 上記表題のように現在access97をwindowsXP sp3で使用しています ここで例えば フォーム Aというフォームのなかに コマンドボタンBが 設置されているとします コマンドボタンBをワンクリックするとイベントプロシージャーCが実行されるとします お尋ねしたいのは ひとつのマクロDによって 上記 一連の操作をしたいのですが マクロをデザインビューで開きますと まず アクションにおいて フォームを開く 下左のダイアログに フォームの名称に コンボリストから Aを選択します 次に このコマンドボタンBを実行するために このマクロDのデザインビューにおいて 以下の行のアクションに どのように 入力したら よいものか 御教示願いたいです コマンドの実行 から できるかなと 思ったのですが 適切な項目がリストから 表示されません 御存じの方 宜しくお願い致します access97以降の新しいバージョンでのご解説でも参考になりますので 宜しくお願い致します

  • アクセス・マクロの登録について

    いつもお知恵拝借、ありがとうございます。 最近、初めてaccess vbaのモジュールを作成しました。excelでは経験があったので、そのつもりで、フォームのコマンドボタンに「マクロの登録」をしようと思ったのですが、excelの時のように、右クリック→マクロの登録・・・と言うわけにはいかないようです。 いろいろネットも調べてみたのですが、どうも要領を得ません(^^;) accessのフォームのコマンドボタンに、マクロを登録するにはどうしたらいいのでしょうか? 因みに、vbeの画面から実行すると、ちゃんと動いてくれます。 基本的な質問ではなはだ恐縮ですが、どなたかご指導のほど、よろしくお願いしますm(_ _)m

専門家に質問してみよう