| 
    
     |  | ▼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は直してください)
 >
 >こんな情報もありますから、参考にしてください。
 
 |  |