
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Chrome(クローム) 最近Win10にてブラウザが左にスッと隠れていく現象に悩まされてます 3 2023/07/22 23:11
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- その他(プログラミング・Web制作) マウスオーバー→ホイール回転でスクロールできない 2 2022/10/31 10:06
- デスクトップパソコン 全画面表示でもタスクバーを前面に隠す、表示させるようにしたい 3 2022/03/23 12:30
- Windows Me・NT・2000 IMEオプションが開かない 2 2023/04/07 18:04
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Excel(エクセル) エクセルのセルの書式設定・ユーザー定義の条件設定について 1 2022/08/17 21:56
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスを前面に表...
-
C#でButtonのフォーカス枠を消...
-
初期フォーカスについて
-
SPREAD(GrapeCity)のセルにフォ...
-
TDSマジックランプシアター 箱...
-
PowershellでCLIとISEの結果が違う
-
特定のページを開くとすぐフリ...
-
タッチについてのわかりやすい本
-
エディットボックスのカーソル...
-
VC++でマウスホイールイベント...
-
Google Payについて・・・
-
flashアクションスクリプトで放...
-
凹凸のある地面にそって滑らか...
-
除光液の正しい捨て方がわかり...
-
ベアボーンキットとデスクトッ...
-
FLASHでCPUへの負荷を軽く...
-
au シークレット解除方法。
-
初期状態でのフォーカスの解除
-
携帯のタッチ音を消したい
-
Macのウィンドウが透ける
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスを前面に表...
-
SPREAD(GrapeCity)のセルにフォ...
-
Excelのマクロで実行時エラー”1...
-
C#でButtonのフォーカス枠を消...
-
コンボボックスの開いたリスト...
-
Chrome フォーカス時に枠が表示...
-
レーザのスポット径の計算式
-
iMovieでのken burnsエフェクト...
-
雷のようなアニメーションをウ...
-
DataGridViewで入力チェック後...
-
iPhoneのクイックアクションを...
-
コンボボックスの三角を一時的...
-
初期フォーカスについて
-
PowershellでCLIとISEの結果が違う
-
[化学基礎] μmのμはどうして...
-
eclipseでフォーカスされた変数...
-
ComboBoxのフォーカスをはずす
-
除光液の正しい捨て方がわかり...
-
ASP.NETにてロストフォーカス処理
-
至急です。 トイレに行きたいな...
おすすめ情報