プログラム初心者です。
Private Sub Command3_Click()
On Error Resume Next
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
With xlApp.Application
Set xlApp = GetObject("F:\vb6.0\book1.xls")
Set xlBook = xlApp.Workbooks.Open("Book1")
Set xlSheet = xlBook.Worksheets(1)
xlApp.Application.Visible = True
End Sub
と入力したのですが、実行してボタンをクリックしてもエクセルの表が表示されません。なぜでしょうか?
VB6にて開発しています。
VB.NETと違い、VB6の[TabStrip]には各ページにコンテナが用意されていません。
そこで、[PictureBox]をコンテナにして、実行時の[Crick]イベントにて
[SelectedItem.Index]を参照し、[Visible]プロパティを切り替えて使用しています。
しかしここでひとつ不具合が起こります。
タブをクリック(押下)したままドラッグしてフォーム外でドロップすると、
タブ自体は切り替わりますが、[Crick]イベントが発生しません。
[TabStrip]の[MouseUp]イベント時に[Crick]イベントをコールするという方法で
回避しています。
ですが、そもそも一般のタブは(例えば画面のプロパティ等のタブ)
マウスを押した(押下)時点でページが変わります。
これを実現したく、思考錯誤しています。
[Crick]イベントでは、マウスを押して放した時にイベントが発生します。
マウスを押した(押下)時点で切り替えるには、必然的に[MouseDown]時に
[Visible]プロパティを切り替えなければいけないと思うのです。
が、イベントの発生順序は[MouseDown]→[Crick]→[MouseUp]という順で発生する為、
どうしても[Crick]時に取得する[SelectedItem.Index]が[MouseDown]時に取得できず、
実現しません。
VB6でマウスを押した(押下)時のページ切り替えを実現する方法はないのでしょうか?
[参考]
Private Sub TabStrip1_Click()
Dim i As Byte
With Me
For i = 0 To 8
.Picture1(i).Visible = False
Next i
i = .TabStrip1.SelectedItem.Index - 1
.Picture1(i).Visible = True
End With
End Sub
VB6にて開発しています。
VB.NETと違い、VB6の[TabStrip]には各ページにコンテナが用意されていません。
そこで、[PictureBox]をコンテナにして、実行時の[Crick]イベントにて
[SelectedItem.Index]を参照し、[Visible]プロパティを切り替えて使用しています。
しかしここでひとつ不具合が起こります。
タブをクリック(押下)したままドラッグしてフォーム外でドロップすると、
タブ自体は切り替わりますが、[Crick]イベントが発生しません。
[TabStrip]の[MouseUp]イベント時に[Crick]イベントをコールするという方法で
回避しています。
ですが、そもそも一般のタブは(例えば画面のプロパティ等のタブ)
マウスを押した(押下)時点でページが変わります。
これを実現したく、思考錯誤しています。
[Crick]イベントでは、マウスを押して放した時にイベントが発生します。
マウスを押した(押下)時点で切り替えるには、必然的に[MouseDown]時に
[Visible]プロパティを切り替えなければいけないと思うのです。
が、イベントの発生順序は[MouseDown]→[Crick]→[MouseUp]という順で発生する為、
どうしても[Crick]時に取得する[SelectedItem.Index]が[MouseDown]時に取得できず、
実現しません。
VB6でマウスを押した(押下)時のページ切り替えを実現する方法はないのでしょうか?
[参考]
Private Sub TabStrip1_Click()
Dim i As Byte
With Me
For i = 0 To 8
.Picture1(i).Visible = False
Next i
i = .TabStrip1.SelectedItem.Index - 1
.Picture1(i).Visible = True
End With
End Sub
VB6にて開発しています。
VB.NETと違い、VB6の[TabStrip]には各ページにコンテナが用意されていません。
そこで、[PictureBox]をコンテナにして、実行時の[Crick]イベントにて
[SelectedItem.Index]を参照し、[Visible]プロパティを切り替えて使用しています。
しかしここでひとつ不具合が起こります。
タブをクリック(押下)したままドラッグしてフォーム外でドロップすると、
タブ自体は切り替わりますが、[Crick]イベントが発生しません。
[TabStrip]の[MouseUp]イベント時に[Crick]イベントをコールするという方法で
回避しています。
ですが、そもそも一般のタブは(例えば画面のプロパティ等のタブ)
マウスを押した(押下)時点でページが変わります。
これを実現したく、思考錯誤しています。
[Crick]イベントでは、マウスを押して放した時にイベントが発生します。
マウスを押した(押下)時点で切り替えるには、必然的に[MouseDown]時に
[Visible]プロパティを切り替えなければいけないと思うのです。
が、イベントの発生順序は[MouseDown]→[Crick]→[MouseUp]という順で発生する為、
どうしても[Crick]時に取得する[SelectedItem.Index]が[MouseDown]時に取得できず、
実現しません。
VB6でマウスを押した(押下)時のページ切り替えを実現する方法はないのでしょうか?
[参考]
Private Sub TabStrip1_Click()
Dim i As Byte
With Me
For i = 0 To 8
.Picture1(i).Visible = False
Next i
i = .TabStrip1.SelectedItem.Index - 1
.Picture1(i).Visible = True
End With
End Sub