最近、VisualBasicを始めたばかりの初心者です。
VScrollのBarをFormに作成したのですが、バー
が点滅したままになってしまいます。
どなたか、このバーの点滅を止める方法が
分かりましたら、よろしくお願いいたします。
では。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

再びmaruru01です。



おそらく、Form上にTabStopプロパティを持つコントロールがスクロールバーだけなのではないでしょうか。ちなみにラベルはTabStopプロパティがありません。
従って、実行時にすぐにスクロールバーにフォーカスが当たってしまうので、点滅してしまうのでしょう。
回避方法としては、ダミーの適当なコントロール(TabStopプロパティを持つ)をフォーム上に置き、TabStopの順をスクロールバーよりも前にします。
例としてPictureBoxコントロールの場合は、

フォーム上の邪魔にならない場所に配置する。
TabStopプロパティを"True"にする。
TabIndexプロパティを"0"(またはスクロールバーのIndexよりも小さい値)にする
BorderStyleプロパティを"なし"にする。
FillStyleプロパティを"1-透明"にする。
(上記2つは実行時にPictureBoxコントロールを見えなくするための設定)
スクロールバーのTabStopプロパティを"False"にする。
(スクロールバーのTabIndexはPictureBoxコントロールの値より大きいこと)

これで点滅しなくなると思います。
では。
    • good
    • 0
この回答へのお礼

maruru01さま
返事がおそくなりましてすみません。
ありがとうございました。
上記のように設定したところ、点滅しなくなりました。
なんとお礼を言っていいやら・・・・
いろいろお世話になりました。
ありがとうございました。

お礼日時:2002/04/04 23:13

こんにちは。

maruru01です。
スクロールバーのスクロールボックス(スライドさせるところ)が点滅するのは、フォーカスが当たっているためです。
そこで、スクロールバーのTabStopプロパティをFalseにすれば、フォーカスが当たらず、点滅もしなくなります。
では。
    • good
    • 0
この回答へのお礼

maruru01さま
早速のご回答ありがとうございます。
スクロールバーのTabstopプロパティをFalseにしたのですが、点滅を相変わらずしております。
他に設定方法があればお願いいたします。

お礼日時:2002/04/02 18:49

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qスクロールバーを点滅させない方法

いつもお世話になっております。
スクロールバーについて質問します。

VB6.0にて開発しています。
手動でスクロールさせるプログラムを作ったのですが、
スクロールバーにフォーカスがうつると
点滅します。これを止めたいのですが
どのように設定すればよいのでしょうか。
コントロールはVScrollBarを使用しています。

あるいは他の種類のスクロールバーで
最初から点滅しないものなどありますでしょうか。

Aベストアンサー

スクロールバー以外のコントロールがありますか?
無ければダミーのピクチャボックスを作成してください。
それで他のコントロールのTABINDEXを、スクロールバーより若いTABINDEXを割り当てます。
簡単にいうとTABINDEX=0はだめです。
んで、スクロールバーのTABSTOP=FALSEにしてみてください。

QVB6のスクロールバー付きフレームコントロールについて

VBを勉強しているものです。

フレームの高さ以上にコントロールをその中に入れて
スクロールバーを使って表示させたいのですがうまくいきません。ご教示ください。

Aベストアンサー

私ならこうするかな?
1.フレームAの中にもう一つフレームBを作成。
2.フレームBの中にコントロールを配置。
3.スクロールバーでフレームBのTOPを制御する。
  たとえば、スクロールバーが下に行くほどTOPを小さく:マイナスの値 にする

QVBA オブジェクトが空かどうか判定する

皆様のお知恵を拝借させてください。

エクセルVBAでオブジェクトを入れる変数を定義し、その変数にオブジェクト
が入っているかどうか検査したいのですがどうしたらいいでしょうか。

例えば---
Dim a As Workbook
If a <> nothing then ←この部分が分からない。このままだとエラー。
処理
End if
---------
環境
エクセル2003
WinXPsp1

Aベストアンサー

もし、aが空だったら
If a Is Nothing Then 

もし、aが空じゃなかったら
If Not a Is Nothing Then

Qエクセル マクロで指定フォルダを開く

エクセルにて
指定フォルダを開く、マクロがあれば教えて頂けないでしょうか。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

こういうものですか?
開くフォルダを変えたいときは targ に与えるパスを変更します。

Sub OpenFolders()
Dim targ As String
targ = "C:\"
Shell "C:\Windows\Explorer.exe " & targ, vbNormalFocus
End Sub

Qコードでオブジェクトを最前面に

小4のKunpaです。
 前はレースゲームと言っていたのに今度はRPGと来て・・
いろんなジャンルに変えてスミマセン。
 ところで、オブジェクトを常に最前面に出すことは
出来ますが、コードに書くと、どうなるのでしょうか。
その前に、コードにかけるのですか。
教えて下さい。

Aベストアンサー

オブジェクトの ZOrderメソッドを使うとデザイン画面の
「最前面へ移動」「最背面へ移動」ができるようです。

(例) テキストボックス
Text1.ZOrder (0) '前方移動
Text1.ZOrder (1) '後方移動

QExcelVBAのユーザーフォームの中に線を引きたい

ユーザーフォームの中に線を引きたいのですが、ツールボックスの中のコントロールには、それらしきものがありません。
ワークシートのように自由に線を引くことは、ユーザーフォームではできないのでしょうか。
できるとしたら、どのようにすればよいのでしょうか。
よろしくお願いします。

Aベストアンサー

水平線であれば、フレームを挿入、文字列なし、高さゼロにしてごまかせますが…。

それ以外の方法ですと、別途ペイントなどで線を引いた画像を作成し、ユーザーフォームの背景に設定するとか。
Accessならば、フォームに線などが引けた気がします。

QMAX値を条件にデータを取得するには?

SQL文で困っています。
ご教授下さい。


下記のようなデータがあった場合、それぞれの区分毎に
年月が最大(最新)のデータを取得したいです。
(実際には1レコードにその他項目があり、それらも取得します。)
<検索対象データ>
区分 年月   金額
-----------------------------
A   200412  600
A   200503  560
B   200311  600
B   200508  1000
B   200504  560
C   200508  400
C   200301  1100


<取得したいデータ>

区分 年月   金額
-----------------------------
A   200503  560
B   200508  1000
C   200508  400

よろしくお願いします。

Aベストアンサー

テーブル名をXXXとすると次のようなSQLでよいと思います。(最善の方法かどうかは自信がないですが)

select B.* from (select 区分, max(年月) as 年月 from XXX group by 区分) As A
inner join XXX as B on A.区分 = B.区分 and A.年月 = B.年月
order by B.区分

QVBAでドラッグ・アンド・ドロップ

エクスプローラからファイルを選択して、ワードもしくはエクセルにD&Dしファイル名を取得したいと思います。

VBだとOleDragDropでいけるようですが、VBAにはこのイベントがありません。

ということは、無理ってことなのでしょう赤?

Aベストアンサー

こんにちは。

Excelしかやったことがありませんが、エクスプローラを開いて、ドラッグ&ドロップすれば、ふつう、そのままでいけるはずですが?

それにチェック機能をつけるのでしたら、Office では、ユーザーフォームの[ツール]メニューの、[その他のコントロール]で、Microsoft Listview Control (SP4) があるかと思います。そのListview Control に 以下のように、OleDragDrop イベントをつければよいと思います。

以下のコードでは、Explorer は、自分で閉じてください。

Excelの場合。
サンプルコード

'<UserFormモジュール以外>
Sub uformShow()
Dim myPath As String, myID As Double
myPath = ThisWorkbook.Path
myID = Shell("Explorer.exe /e, /root," & myPath, vbNormalFocus)
If myID = 0 Then Exit Sub
UserForm1.Show 0
End Sub

'<ユーザーフォームモジュール>
Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, _
                 Effect As Long, Button As Integer, _
                 Shift As Integer, x As Single, y As Single)

Dim i As Long
With Me
  AppActivate Me.Caption
  .ListView1.ListItems.Clear
  If Data.Files.Count < 1 Then Exit Sub
  For i = 1 To Data.Files.Count
   If InStrRev(Data.Files(i), "xls") > 0 Then
    Workbooks.Open (Data.Files(i))
   Else
    MsgBox "Excelの標準ファイルではありません。", vbCritical
   End If
  Next i
End With
End Sub

Private Sub UserForm_Activate()
  With Me.ListView1
    .OLEDragMode = 1
    .OLEDropMode = 1
    .View = 2
  End With
End Sub

こんにちは。

Excelしかやったことがありませんが、エクスプローラを開いて、ドラッグ&ドロップすれば、ふつう、そのままでいけるはずですが?

それにチェック機能をつけるのでしたら、Office では、ユーザーフォームの[ツール]メニューの、[その他のコントロール]で、Microsoft Listview Control (SP4) があるかと思います。そのListview Control に 以下のように、OleDragDrop イベントをつければよいと思います。

以下のコードでは、Explorer は、自分で閉じてください。

Excelの場合。
サンプル...続きを読む

QEXCEL VBAで計算値を四捨五入、切り上げ、切捨てする方法

ネットで探してみたのですが、計算結果を四捨五入して特定のセルを
返すにはどうしたらいいのでしょうか?

Sub hokangosa()

Dim ZPS As Double
Dim ZPOS As Double
Dim DMN As Double
MsgBox (" >>> 補間誤差自動計算 <<< ")
MsgBox (" >>> 初期値入力します <<< ")
ZPS = InputBox(">>> ステップを入力してください<<<")
ZPOS = Sheet1.Cells(22, 4).Value
DMN = ZPOS / ZPS
Sheet1.Cells(23, 6).Value = DMN
End Sub

ここでDMNの値を四捨五入したいです。

またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。

Aベストアンサー

DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0)
で、四捨五入
DMN = Application.RoundDown(ZPOS / ZPS, 0)
で切り捨て
DMN = Application.RoundUp(ZPOS / ZPS, 0)
で切り上げです。

引数で、対象桁を変更できます。

QExcel VBAでマウスの左クリックのイベントを検知するには

お世話になります。

ExcelのVBAを利用して、マウスが左クリックされた際、そのイベントを
検知する方法はありますでしょうか?

使用しているExcelは2003です。

よろしくお願いします。

Aベストアンサー

■ マウスやキーボードのイベントを取得する
http://home.att.ne.jp/zeta/gen/excel/c04p07.htm

こちらが参考になりそうです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報