StoreSelect.bas 1.0 KB

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