ユーザーがコンボ ボックスから値を選択するダイアログを起動するマクロを作成しました。残念ながら、ダイアログ ボックスが表示され、1 ~ 20 秒間砂時計が表示されます。
役立つと思われる回避策がいくつかあります。
- すばやく CTRL-Alt-Del を押してから Escape を押します。
- タスク バーの回転するマクロ アニメーションをクリックします。
- タスクバーからダイアログを最小化してから最大化します。
しかし、これは本当に苦痛になりつつあります。これを引き起こす原因と、ハングを防ぐ方法を知っている人はいますか?
ダイアログを起動するために使用しているコードは
Dim winptr As New WinWrapper()
frm.ShowDialog(winptr)
と
'' This class is used to set the proper parent to any UI that you may display from within a macro.
Public Class WinWrapper
Implements System.Windows.Forms.IWin32Window
Overridable ReadOnly Property Handle() As System.IntPtr Implements System.Windows.Forms.IWin32Window.Handle
Get
Dim iptr As New System.IntPtr(DTE.MainWindow.HWnd)
Return iptr
End Get
End Property
End Class