StoreSelect.bas 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. Attribute VB_Name = "StoreSelect"
  2. Private sr_mem(3) As New ShapeRange
  3. Public StoreCount As String
  4. Public Function Store_Instruction(id As Integer, INST As String) As String
  5. On Error GoTo ErrorHandler
  6. API.BeginOpt "Undo MRC"
  7. '// 选择指令执行
  8. Case_Select_Range id, INST
  9. StoreCount = "Store Count: A->" & sr_mem(1).Count & " B->" & sr_mem(2).Count & " C->" & sr_mem(3).Count
  10. API.EndOpt
  11. Exit Function
  12. ErrorHandler:
  13. Application.Optimization = False
  14. End Function
  15. Private Function Case_Select_Range(id As Integer, INST As String)
  16. On Error GoTo ErrorHandler
  17. Select Case INST
  18. Case "add"
  19. sr_mem(id).AddRange ActiveSelectionRange
  20. Case "sub"
  21. sr_mem(id).RemoveRange ActiveSelectionRange
  22. Case "lw"
  23. '// ActiveDocument.ClearSelection
  24. sr_mem(id).AddToSelection
  25. Case "zero"
  26. If id = 3 Then
  27. sr_mem(3).RemoveAll: sr_mem(1).RemoveAll: sr_mem(2).RemoveAll
  28. Else
  29. sr_mem(id).RemoveAll
  30. End If
  31. End Select
  32. Exit Function
  33. ErrorHandler:
  34. Application.Optimization = False
  35. End Function