Excel VBA質問箱 IV

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

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


30856 / 76738 ←次へ | 前へ→

【51144】Re:コマンドボタンをマクロでクリック!
発言  ichinose  - 07/8/29(水) 21:49 -

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

>
>ただ、表示されるUserFormの押したいボタンのDefaultプロパティがTrueに
>なっていれば、表示前にSendKeysでEnterキーを送れば閉じれるのではないか
>と思います。
Alt+F4でユーザーフォームを閉じることが出来ますから、

sub main()
  Dim bk As Workbook
  SendKeys "%{F4}"
  Set bk = Workbooks.Open(ThisWorkbook.Path & "\book2.xls")
'               ↑Workbook_Openイベントマクロを含むブック
end sub

なんてコードで条件が揃えば出来そうですが・・・。
Workbook_Openイベント内で


doevents


userform1.show

なんてコードだと正しくユーザーフォームを閉じることは出来ません
(Excelそのものが終了してしまいます)

ちょっと安定感が悪いので私は、
実務では仮に成功しても使いません、たぶん。


Book2.Xls(呼び出し側)のコードが変更出来るのなら・・・、


ThisworkbookのWorkbook_Open イベントではなく、

標準モジュールのAuto_Openでブックを開いた直後に実行するコードを定義します。

標準モジュールには

'==================================================
Sub auto_open(Optional frmhide As Boolean = False)
  
  With ThisWorkbook.Worksheets(1).Range("a1")
    .Value = Date
    .NumberFormatLocal = "yyyy/mm/dd"
    End With
'   ↑これがユーザーフォーム表示する以外の処理の例
  If frmhide = False Then UserForm1.Show
End Sub


呼び出し元では

'=========================================================
Sub main()
  Dim bk As Workbook
  Set bk = Workbooks.Open(ThisWorkbook.Path & "\book2.xls")
  Application.Run bk.Name & "!auto_open", True
End Sub

こんなコードです。

一例です。検討してみてください。

0 hits

【51104】コマンドボタンをマクロでクリック! もとあし 07/8/28(火) 16:42 質問
【51109】Re:コマンドボタンをマクロでクリック! Jaka 07/8/28(火) 17:39 発言
【51126】Re:コマンドボタンをマクロでクリック! もとあし 07/8/29(水) 9:55 お礼
【51128】Re:コマンドボタンをマクロでクリック! もとあし 07/8/29(水) 10:24 質問
【51132】Re:コマンドボタンをマクロでクリック! Blue 07/8/29(水) 11:22 発言
【51144】Re:コマンドボタンをマクロでクリック! ichinose 07/8/29(水) 21:49 発言
【51168】Re:コマンドボタンをマクロでクリック! もとあし 07/8/31(金) 15:52 お礼
【51133】Re:コマンドボタンをマクロでクリック! Jaka 07/8/29(水) 11:27 発言
【51169】Re:コマンドボタンをマクロでクリック! もとあし 07/8/31(金) 15:54 お礼
【51120】Re:コマンドボタンをマクロでクリック! ikeri 07/8/28(火) 22:52 回答
【51127】Re:コマンドボタンをマクロでクリック! もとあし 07/8/29(水) 10:01 お礼
【51170】Re:コマンドボタンをマクロでクリック! ちん 07/8/31(金) 19:57 回答

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