Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7645 / 76732 ←次へ | 前へ→

【74673】Re:はじめまして、ご質問させてください。
お礼  化け猫  - 13/8/28(水) 18:00 -

引用なし
パスワード
   > ウッシさん
ご回答ありがとうございます。
本に載っているコードと私のコードは少しばかり異なるのですが、起る現象は同じ
でした。
下記に私のコードを載せます。(長文になってしまいすいません。。。)
スロットをしばらくまわしたままにしておくとexcelが応答しなくなります。

Option Explicit
Declare Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Long
Declare Function GetTickCount Lib "kernel32" () As Long
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub ReelData()

  Dim Reel As Variant
  
  Reel = Worksheets("ReelData").Range("B3:D18")
  
  
  Dim ReelV As Variant
  Dim n(1 To 3) As Integer
  Dim i As Integer
  Dim GameFlag As Boolean
  Dim ReelF(1 To 3) As Boolean
    
  ReelV = Range("B4:D4")
  
  Do While GameFlag = False
    
    Dim t1 As Long
    Dim t2 As Long
        
    t1 = GetTickCount
    t2 = Worksheets("ReelData").Range("G2").Value
    
    Do While GetTickCount - t1 < t2
      
      Sleep Worksheets("ReelData").Range("G2").Value
            
    Loop
    
    For i = 1 To 3
      
      If ReelF(i) = False Then
        
        n(i) = n(i) + 1
        
        If n(i) > 16 Then
        
          n(i) = 1
          
        End If
      
        '表示用文字列を格納
        ReelV(1, i) = Reel(n(i), i)
      
      End If
      
    Next
     
    'リールを一括画面表示
    Range("B4:D4") = ReelV
        
    'ボタンをPushしたら各リールを止める。
    If GetAsyncKeyState(90) <> 0 Then
      
      ReelF(1) = True
          
    End If
    
    If GetAsyncKeyState(88) <> 0 Then
    
      ReelF(2) = True
  
    End If
    
    If GetAsyncKeyState(67) <> 0 Then
      
      ReelF(3) = True
      
    End If
    
    
    '全てのリールがストップしたらゲームを終了する。
    If ReelF(1) Then
      
      If ReelF(2) Then
        
        If ReelF(3) Then
              
          GameFlag = True
           
        End If
      
      End If
      
    End If
        
  Loop
  
  Dim temp As String
  
  If Range("B4").Value = Range("C4").Value And Range("C4").Value = Range("D4").Value Then
    
    If Range("B4").Value = 7 Then
    
      temp = "大当たり!!!"
      
    ElseIf Range("B4").Value = "BAR" Then
    
      temp = "中当たり!!"
    
    Else
      
      temp = "小当たり!"
    
    End If
    
  Else
  
    temp = "はずれ。。"
    
    
  End If
  
  MsgBox temp
     
End Sub

4 hits

【74671】はじめまして、ご質問させてください。 化け猫 13/8/28(水) 14:33 質問
【74672】Re:はじめまして、ご質問させてください。 ウッシ 13/8/28(水) 17:00 発言
【74673】Re:はじめまして、ご質問させてください。 化け猫 13/8/28(水) 18:00 お礼
【74675】Re:はじめまして、ご質問させてください。 ウッシ 13/8/28(水) 20:55 質問
【74676】Re:はじめまして、ご質問させてください。 化け猫 13/8/28(水) 21:09 発言
【74677】Re:はじめまして、ご質問させてください。 ウッシ 13/8/28(水) 23:29 回答
【74679】Re:はじめまして、ご質問させてください。 化け猫 13/8/29(木) 8:51 発言
【74680】Re:はじめまして、ご質問させてください。 ウッシ 13/8/29(木) 10:34 回答
【74684】Re:はじめまして、ご質問させてください。 化け猫 13/8/29(木) 17:54 お礼
【74685】Re:はじめまして、ご質問させてください。 ichinose 13/8/29(木) 20:06 発言
【74686】Re:はじめまして、ご質問させてください。 化け猫 13/8/29(木) 20:12 お礼
【74689】Re:はじめまして、ご質問させてください。 化け猫 13/8/30(金) 5:30 発言
【74690】Re:はじめまして、ご質問させてください。 Abyss 13/8/30(金) 17:32 発言
【74691】Re:はじめまして、ご質問させてください。 ichinose 13/8/30(金) 21:01 発言

7645 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free