• 締切済み

コントロールをスクロールに連動させたい

Excelでウィンドウ枠を固定したSheetにWindowsMediaPlayerを貼り付けています。 SheetをScrollさせるとき,WMPが連動して隠れるのを防げませんか。 UserForm,Shell,HyperLinkなどを利用しての隠れない方法は確認済です。 また,WMPをSheetに貼り付けた状態では画面をクリックして移動させております。 WMPをScrollに連動させる良い方法があったら,教えていただけませんか。 ThisWorkbookに,次のように記入すれば Private Sub Workbook_Open() Worksheets("Sheet1").WindowsMediaPlayer1.Left = Application.Left + 100 Worksheets("Sheet1").WindowsMediaPlayer1.Top = Application.Top + 100 End Sub 似たようなことはできるのですが,他の操作後,Scrollで隠れてしまいます。 APIでTimerを使うことも検討していますが,考えているものをまだ見つけていません。 これができると,他のコントロールにも応用できそうなのですが・・・。

みんなの回答

  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.1

 そのような場合はお書きになっているuserformにすべきだと思いますが 回答がつかないようなので参考にどうぞ。 モニターの縦のドット数とビデオ表示サイズによりますが、シートのズームを75%程度にしておかないと 追従したときに停止ボタンなどが下に隠れてしまいます。 Option Explicit Dim scrArea As Long Dim i As Long Sub chk() i = i + 1 If i > 20 Then i = 0: Beep: Exit Sub scrArea = ActiveWindow.VisibleRange.Top + 100 If ActiveWindow.VisibleRange.Top <> scrArea Then Sheet1.WindowsMediaPlayer1.Top = scrArea DoEvents: DoEvents: DoEvents Application.OnTime Now() + TimeValue("00:00:01"), "chk" End Sub scrAreaという変な変数名にしましたが、最初はrange型でやるつもりだったのがだめで途中から方針を変えたためです。

nobsan60
質問者

お礼

ありがとうございます。早速,確認をして見ました。WMPがぎこちない動きをしており,もう少し滑らかな動きができるといいね。

関連するQ&A