[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/10/07(Fri) 16:22
投稿者名:ダンボ
URL :
タイトル:
Excel2002でバルーンヘルプ
ども。最近はEXCEL VBAに集中しているダンボです。

Excel2002でバルーンヘルプを実装したいと考えていますが、ExcelではMouseMoveがありません。
それで次善の策としてWorksheet_SelectionChangeイベントを用い、
「あるセルに移動するとUserFormをShow 0で起動して、UserFormは2秒後に自動的にUnload Meで
消える」で我慢しようとしています。

動作はこれで許容範囲内なのですが、UserFormにはキャプション欄や×ボタンがついており
どうも見栄えがバルーンヘルプとは見えません。これらを消して本文だけ横長のフォームに
することはできないでしょうか?API?

または、バルーンヘルプライクにするならばこんな方法もあるというヒントをお願いします。

投稿時間:2005/10/07(Fri) 17:23
投稿者名:GOD
Eメール:
URL :
タイトル:
Re: Excel2002でバルーンヘルプ
> または、バルーンヘルプライクにするならばこんな方法もあるというヒントをお願いします。
>
Balloonオブジェクトを使うとか。(アシスタントも一緒に表示されるけど。)
With Assistant.NewBalloon
    .Heading = "Test"
    .Show
End With

投稿時間:2005/10/07(Fri) 19:20
投稿者名:ダンボ
URL :
タイトル:
Re^2: Excel2002でバルーンヘルプ
GODさん、どうもありがとうございます。
3連休をはさむので結果報告が遅くなります。とりあえずの返事です。

> Balloonオブジェクトを使うとか。(アシスタントも一緒に表示されるけど。)

面白い解決方法ですね。
hhttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/
jpdnofftalk/htm/office100799.asp
ここに詳しい説明があるので、試してみたいと思います。

バルーンにこだわらないとすれば、ポップアップメニュを使うのも一手かな?

投稿時間:2005/10/11(Tue) 16:00
投稿者名:ダンボ
URL :
タイトル:
【報告】Balloonオブジェクト
> GODさん、どうもありがとうございます。
> > Balloonオブジェクトを使うとか。(アシスタントも一緒に表示されるけど。)

OKを押さないと消えないようなので、ちょっと意図しているバルーンヘルプには向かないけれど、
ReadMeとしては格好良いかなと、Aboutに実装してみました。

わお、文字数が多すぎて1画面に収まらないと暴走(一瞬表示されてすぐ消える)します。。。orz
このReadmeの場合は1045字が限界でした。画面設計しないと、使えん。

(今回はAssistantを使わないことにしましたので返信不要です。)

      Dim balBalloon        As Balloon
      Dim strMessage        As String
      Dim strHeading        As String
      Dim i As Integer, R As Range, C As Range
    
    strHeading = "○○○○ Ver." & VER & "について"
    Set R = Worksheets("ReadMe").UsedRange
    For Each C In R
      strMessage = strMessage & vbCrLf & vbCrLf & C.Value
    Next C
    strMessage = Left(strMessage, 1045)

    With Application.Assistant
          Set balBalloon = .NewBalloon
          With balBalloon
              .BalloonType = msoBalloonTypeButtons
              .Button = msoButtonSetOK
              .Heading = strHeading
              .Icon = msoIconTip
              .Mode = msoModeModal
              .Text = strMessage
          End With
          balBalloon.Show
    End With