タイトル | : Re^4: Excelとの連携 |
記事No | : 11210 |
投稿日 | : 2008/01/22(Tue) 19:06 |
投稿者 | : たー |
お疲れ様です。 勉強しながら花チャンさんのHPに記載されてる イベント処理関係のコマンドボタンをダブルクリックで 何とかプログラムができるんじゃないかと思い組んでみたんですがうまくきません。 一番目の情報と2番目の情報を読み取ってくれるのですが それ以降が読み取ってくれません・・・。 原因は花ちゃんさんが指摘してくれた通りの クリックする毎に I=I+1 がうまく行ってないことだと考えます。 どうかご教授お願いします!
ソースは以下の通りです。
Private Sub Command1_Click()
Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("test.xls") Set xlSheet = xlBook.Worksheets(1) Dim xlCells As Excel.Range Set xlCells = xlSheet.Cells '--------------- エクセルの表をVBへ読み込み -------------------
Dim i As String Dim sngSt As Single
i = 3 Text1.Text = xlCells(i, 2).Value Text2.Text = xlCells(i, 3).Value Text3.Text = xlCells(i, 4).Value Text4.Text = xlCells(i, 5).Value
nClick = nClick + 1 'マウスのダブルクリックの間隔を考慮(0.18〜0.9) sngSt = Timer + GetDoubleClickTime / 1000 If sngSt >= 86400 Then sngSt = sngSt - 86400 End If '場合によっては待機時間を調整して下さい。 'APIを使用しないなら0.18〜0.9秒の範囲で待機して下さい。 Do While Timer < sngSt DoEvents Loop If nClick = 2 Then i = i + 1 Text1.Text = xlCells(i, 2).Value Text2.Text = xlCells(i, 3).Value Text3.Text = xlCells(i, 4).Value Text4.Text = xlCells(i, 5).Value End If
nClick = 0 '================================================================== '終了処理 Set xlCells = Nothing Set xlSheet = Nothing xlBook.Close 'Book を閉じる Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing End Sub
|