![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67b6d)
Excelを使って計算時間の長いプログラムを走らせている時に
IEなどの別のウインドウを開いて作業するということがよくあります。
例えば、計算のプロセスが100あったとして、
ユーザーフォーム上に
1/100、2/100、・・・100/100
と計算が進む毎にカウントを進めていくというプログラムを書くことはできるのですが
IEなどの別のウインドウを最大表示で開いていると
隠れて見えなくなってしまいます。
それでタスクバー上に上記のような文字列を表示したいのですが
どうすれば良いでしょうか?
あるいは常に最前面表示の小さなウインドウを
モニターの端に表示させてカウントを表示するにはどうしたら良いですか?
あと、プログラムが終了した際に
タスクバー上のExcelが点滅するようなアクションを起こしたいのですが
可能でしょうか?
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>それでタスクバー上に上記のような文字列を表示したいので
そのプロセスの適当なところに
Application.Caption = "1/100" や ・・"50/100" などを挟み込んでゆけばよいのでは?
DoEventsとセットでないと反映されないかも?
>あるいは常に最前面表示の小さなウインドウを
こちらの物好きじいちゃんさんのが参考になるのでは?
https://oshiete.goo.ne.jp/qa/9130415.html
当方32Bit版Officeなので64Bit移植も視野に入れた回答は不可です。あらかじめ。
>タスクバー上のExcelが点滅するようなアクション
適当なのがなさそうなので
標準モジュールに
Private Declare Function FlashWindowEx Lib "user32" _
(FWInfo As FLASHWINFO) As Boolean
Private Declare Sub Sleep Lib "kernel32" _
(ByVal dwMilliseconds As Long)
Private Type FLASHWINFO
cbSize As Long ' size of structure
hWnd As Long ' hWnd of window to use
dwFlags As Long ' Flags, see below
uCount As Long ' Number of times to flash window
dwTimeout As Long ' Flash rate of window in milliseconds. 0 is default.
End Type
Const FLASHW_STOP = 0
Const FLASHW_CAPTION = 1
Const FLASHW_TRAY = 2
Const FLASHW_ALL = FLASHW_CAPTION Or FLASHW_TRAY
Const FLASHW_TIMER = 4
Const FLASHW_TIMERNOFG = 12
Sub FlashTest()
Dim retVal As Integer
Dim FWInfo As FLASHWINFO
' Fill the structure:
With FWInfo
.cbSize = 20 ’これが不明
.hWnd = Application.Hwnd 'Excelの場合
.dwFlags = FLASHW_ALL
.uCount = 10 '回数
.dwTimeout = 200 ’間隔
End With
' Allow time to cover the window:
Sleep 2000
' call the function:
retVal = FlashWindowEx(FWInfo)
End Sub
としておいて終了の際に、Call FlashTest を呼び出したら・・?
※上記のAPIもMSDNだったかに載っていたのを以前にメモってただけです。
Excel2010以前と2013以後では異なる結果になるかもしれません。
以上、ご参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスを前面に表...
-
SPREAD(GrapeCity)のセルにフォ...
-
Chrome フォーカス時に枠が表示...
-
Delphiで最前列にFormを表示し...
-
Excelのマクロで実行時エラー”1...
-
Flashの再生速度を遅くしたい
-
[C#] フォームを非アクティブの...
-
C#でButtonのフォーカス枠を消...
-
フォトショのアクションを別のM...
-
iPhoneのクイックアクションを...
-
エディットボックスのカーソル...
-
VB6.0 KeyDownイベントの対応
-
ASP.NETにてロストフォーカス処理
-
FLASHで、サーバの時間を取得し...
-
DataGridViewで入力チェック後...
-
パソコンの液晶画面にマジック...
-
手からビームって出せるんです...
-
コンボボックスの開いたリスト...
-
DAMのデンモクの使い方
-
コンボボックスの三角を一時的...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを前面に表...
-
SPREAD(GrapeCity)のセルにフォ...
-
Excelのマクロで実行時エラー”1...
-
コンボボックスの開いたリスト...
-
C#でButtonのフォーカス枠を消...
-
Chrome フォーカス時に枠が表示...
-
DAMのデンモクの使い方
-
コンボボックスの三角を一時的...
-
iPhoneのクイックアクションを...
-
3DS いつの間に交換日記
-
除光液の正しい捨て方がわかり...
-
TDSマジックランプシアター 箱...
-
Macのウィンドウが透ける
-
雷のようなアニメーションをウ...
-
至急です。 トイレに行きたいな...
-
初期フォーカスについて
-
Eclipse Javaエディタでの選択...
-
MMDでAVI出力後の映像、音声に...
-
DataGridViewで入力チェック後...
-
ASP.NETにてロストフォーカス処理
おすすめ情報