Excel VBA質問箱 IV

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

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


34025 / 76738 ←次へ | 前へ→

【47928】Re:マクロをバックグラウンドで実行
質問  iino  - 07/3/27(火) 1:45 -

引用なし
パスワード
   ▼ichinose さん:
こんばんは。
よこからすみませんiinoです。
興味がわいたので
下記プログレスバーを実行してみました

そこで質問ですが バー作動中に
他のコードを実行させるにはどのように
このコードに当てたらいいのですか?
教えて下さい。
初心者なので・・・明瞭にお願いできますか。

>見ている方が全員同じものを見ていないと中々こういう
>問題は処理しづらい と思いませんか?
>
>新規ブックにユーザーフォーム(Userform1)だけ作成してください。
>(コントロールは、動的に作成しますから、要りません)
>
>標準モジュールに
>
>'===========================================================
>Sub main()
>  Dim i As Long
>  With Cells(1, 1)
>    .value = 0
>    Call init_progress_form
>    Do Until .value = 20000
>     Call set_progress_form(.value, 20000, "実行中")
>     .value = .value + 1
>     Loop
>    Call term_progress_form
>    End With
>End Sub
>
>別の標準モジュールに
>'===============================================================
>Option Explicit
>Sub init_progress_form()
>  With UserForm1
>    .Width = 270
>    .Height = 114
>    With .Controls.Add("Forms.Label.1", , True)
>     .Name = "Lbl状態"
>     .Left = 12
>     .Top = 12
>     .Width = 60
>     .Height = 18
>     .Font.Size = 14
>     .TextAlign = 2
>     .SpecialEffect = 2
>     End With
>    With .Controls.Add("Forms.Label.1", , True)
>     .Name = "Lbl総計"
>     .Left = 12
>     .Top = 42
>     .Width = 200
>     .Height = 18
>     .SpecialEffect = 2
>     .ForeColor = &HFFFFFF
>     .TextAlign = 2
>     End With
>    With .Controls.Add("Forms.Label.1", , True)
>     .Name = "Lblパーセント"
>     .Left = 216
>     .Top = 48
>     .Width = 30
>     .Height = 12
>     .SpecialEffect = 0
>     .TextAlign = 3
>     End With
>   
>    With .Controls.Add("Forms.Label.1", , True)
>     .Name = "Lblバー"
>     .Left = 12
>     .Top = 42
>     .Width = 0
>     .Height = 18
>     .SpecialEffect = 0
>     .BackColor = &H800000
>     End With
>    .Show vbModeless
>    End With
> End Sub
>'===============================================================
>Sub set_progress_form(value As Variant, amount As Variant, Optional status As Variant = "")
>  With UserForm1
>    .Controls("LBl状態").Caption = status
>    .Controls("Lblパーセント").Caption = Format(value / amount, "0%")
>    .Controls("Lblバー").Width = .Controls("Lbl総計").Width * value / amount
>    DoEvents
>  End With
>End Sub
>'===============================================================
>Sub term_progress_form()
>  Unload UserForm1
>End Sub
>
>
>これでmainを実行して別のタスクをアクティブにして試してください。
>勿論、アクティブにしたタスクがCPUを握りっぱなしなら、そりゃあ動作は止まりますが、
>通常のHPを表示しているIE等に切り替えても上記のmainは作動していますよ!!
>
>尚、バックグラウンドのプログラムについて
>
>HTTP://winxp.1123.info/010/post_2.html
>(頭のHTTPは直してください)
>
>こんな情報もありますから、参考にしてください。
0 hits

【47910】マクロをバックグラウンドで実行 VBA初心者 07/3/26(月) 13:43 質問
【47921】Re:マクロをバックグラウンドで実行 Jaka 07/3/26(月) 17:14 発言
【47923】Re:マクロをバックグラウンドで実行 VBA初心者 07/3/26(月) 18:29 発言
【47925】Re:マクロをバックグラウンドで実行 ichinose 07/3/26(月) 20:06 発言
【47927】Re:マクロをバックグラウンドで実行 VBA初心者 07/3/26(月) 23:34 お礼
【47928】Re:マクロをバックグラウンドで実行 iino 07/3/27(火) 1:45 質問
【47930】Re:マクロをバックグラウンドで実行 ichinose 07/3/27(火) 7:46 発言
【47940】Re:マクロをバックグラウンドで実行 iino 07/3/27(火) 10:45 発言
【47942】Re:マクロをバックグラウンドで実行 Jaka 07/3/27(火) 11:02 発言
【47945】Re:マクロをバックグラウンドで実行 iino 07/3/27(火) 13:40 発言
【47947】Re:マクロをバックグラウンドで実行 Jaka 07/3/27(火) 15:01 発言
【47949】Re:マクロをバックグラウンドで実行 ichinose 07/3/27(火) 19:46 発言
【47953】Re:マクロをバックグラウンドで実行 iino 07/3/27(火) 20:45 お礼

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