返回列表 上一主題 發帖

[發問] 請問迴圈及對話框

回復 1# HSIEN6001
試試看這樣寫呢?
  1. Sub SpeEnginBox()
  2. Dim i, j, AA
  3.    
  4.     With Application
  5.         i = .CountA(Range("C:C"))
  6.         .ScreenUpdating = False
  7.         .DisplayAlerts = False
  8.     End With
  9.    
  10.     If i = 1 Then
  11.         MsgBox "範圍內無英文語句", 16
  12.         Exit Sub
  13.     End If
  14. AA:
  15.     j = InputBox("請問你要唸第幾句?" & vbNewLine & "(格式 1、2、3...)", , "")
  16.     j = IIf(IsNumeric(j), CInt(j), j)
  17.     Do While Not (j > 0 And j < i)
  18.         Select Case j
  19.         Case ""
  20.             MsgBox "您未輸入任何數字", 16
  21.             Exit Sub
  22.         Case Is <= 0, Is >= i
  23.             MsgBox "超出範圍", 16
  24.         End Select
  25.         j = InputBox("請問你要唸第幾句?" & vbNewLine & "(格式 1、2、3...)", , "")
  26.         j = IIf(IsNumeric(j), CInt(j), j)
  27.     Loop
  28.    
  29.     Set oSa = CreateObject("SAPI.SpVoice")
  30.     With oSa
  31.         .Volume = 100
  32.         .Rate = -1
  33.         .Speak Cells(j + 1, 3)
  34.     End With
  35.         
  36.     With Application
  37.         .ScreenUpdating = True
  38.         .DisplayAlerts = True
  39.     End With
  40.    
  41. End Sub
複製代碼
80 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 能善用時間的人,必能掌握自己努力的方向。
返回列表 上一主題