• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ Auto_Openがうまく動きません)

マクロ Auto_Openがうまく動かない理由と解決方法

このQ&Aのポイント
  • エクセル立ち上げ時に日本語入力に切り替えるマクロ Auto_Open を使用する方法について説明します。
  • Windows 7 では Auto_Open マクロがうまく動作しない原因として、OSの仕様の変更が考えられます。
  • Windows 7 上でエクセル立ち上げ時に自動的に日本語ローマ字入力に切り替える方法についてアドバイスをお願いします。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

Windows7-Excel2010でSendKeysが使えないようです。 代わりにAPI 関数の KeybdEvent を使ってみては如何でしょうか '<<< ThisWorkBookモジュール >>> Option Explicit Private Sub Workbook_Open()   Call keybd_event(VK_KANJI, 0, 0, 0)   Call keybd_event(VK_KANJI, 0, KEYEVENTF_KEYUP, 0) End Sub '<<< 標準モジュール >>> Option Explicit Public Declare Sub keybd_event Lib "user32.dll" _ (ByVal bVk As Byte, ByVal bScan As Byte, _ ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Public Const KEYEVENTF_KEYUP = &H2 Public Const VK_KANJI = &H19

参考URL:
http://hanatyan.sakura.ne.jp/vbhlp/keyevent.htm
okth524
質問者

お礼

watabe007さん早速のアドバイス有難う御座います。Sendkeysが使えないとのこと了解しました。代わりにAPI関数とのことですが、小生言葉は聞いた事がありますが、実際使用経験がありません。 至急API関数について勉強しまして、ご提案されたプロシージャーについて、トライしてみたいと思います。 ご丁寧なアドバイス有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マクロ auto_open がうまくゆかない

    マクロで たとえば auto_open()  Sheets("sheet1").select というように編集しても ファイルをオープンした時全然このマクロ自体が有効にならず、手動で、「セキュリティの警告 マクロが無効にされました オプション」 となっている「オプション」をクリックしてはじめて sheet1 が自動表示されます。 AUTO_ OPEN はファイルを開いた時に即有効になるんではないかと思いますが、どうしてでしょうか。

  • 日本語入力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にしたいのですが、記述の何が足らないかお教えいただけませんか。 よろしく、お願いします。

  • Auto_Openマクロ

    Excel2003のマクロで、 Sub Auto_Open() ActiveSheet.DisplayAutomaticPageBreaks = True End Sub としているのですが、起動時に開くシートにしか適用されません。 ページが増えていくのでブック内の全シートに適用するにはどうしたらいいでしょうか?

  • マクロの自動オープンの方法を教えて下さい

    エクセルAのマクロAでエクセルBをオープンした時にエクセルBのマクロBをオープンする方法を教えて下さい。(マクロBをAuto_Openにしてもオープンしません)

  • Excel起動時にAuto_Openでマクロを動作させています。

    Excel起動時にAuto_Openでマクロを動作させています。 1回目はマクロを行いたいのですが、 次回起動時はマクロを使用したくありません。 (初期にAuto_Openを使用しなければいいのですが、できれば使用したいです) そこで下記はできますでしょうか? ・名前を付けて保存(時)後にマクロを削除するマクロ ・2回目以降起動時(該当のファイル名が違う場合に、Auto_Openが動作しない)マクロ ほかでもよい案があれば教えてください。

  • Auto_Open シフトキーの無効

    マクロを有効時にシフトキーを押しながらマクロを有効にするを押すと Auto_Openの処理が動きません(仕様)  逆に、シフトキーを押されてもAuto_Openの処理等のマクロを実行させる方法はありますか? あれば、教えてください。 使用するエクセルは、Excel2003以上で使用します。

  • アクセスでauto_openは使えない?

    エクセルの場合は、ブックを開いたと同時にマクロを実行させたい時は、 auto_openと言うマクロを標準モジュールに作れば可能ですが、 アクセスVBAの標準モジュールに、auto_openというプロシージャーを作って、 アクセスを再起動しても何も起こりません。 アクセスにおいて ファイルの起動と同時にマクロを実行させたいのなら、 どこかのフォームのOpenイベントに実行させたいコードを記載して、 起動時の設定で、そのフォームを選択するしかないのでしょうか?

  • エクセル auto_open()で使う変数の事で

    よろしくお願いします 最近マクロの勉強を始めました auto_open()内でPrivate Sub Worksheet_Change(ByVal Target As Range)内の変数を 使うにはどうしたらいいですか? auto_open()内で変数が定義されていませんと表示されてマクロが止まります

  • エクセル VBA 「Sub Auto_Open()」 について

    エクセル2003を使用しています。 VBAで、下記のように、起動時にメッセージを表示させているのですが、 表示されたダイアログの「OK」を押さないと、ダイアログが消えないのと同時にエクセルの編集ができません。 --------------------- Sub Auto_Open() MsgBox "******" End Sub --------------------- このダイアログを、指定した時間で、自動で消えるようにできるのでしょうか? ご教授いただけます方、どうぞ、よろしくお願い申し上げます。m(_ _)m

  • wordのマクロを自動実行する方法

    excelの場合は、下記でファイルを開くと同時にマクロが自動実行されます。  Sub Auto_Open()   自動実行したい処理  End Sub wordの場合は、上記では自動実行出来ません。 wordのマクロを自動実行する方法を教えて下さい。 宜しく、お願いします。