Luster 发表于 2003-1-7 09:51:00

在VBA中怎么执行undo命令

再程序开始的时候我想执行 undo begin
程序结束的时候执行 undo end
部知道怎么用vba实现?

efan2000 发表于 2003-1-7 10:29:00

Re: 在VBA中怎么执行undo命令

Sub Example_StartUndoMark()
    ' 这个例子演示了创建一系列的直线,每根直线都设置了取消标记。当所有直线创建完成后,可以运行命令“Undo”来单独取消一根直线。如果没有设置取消标记,则命令“Undo”将取消所有的直线。   
    Dim line As AcadLine
    Dim stPnt(0 To 2) As Double

    Dim endPnt(0 To 2) As Double
    stPnt(0) = 1: stPnt(1) = 2: stPnt(2) = 0
    endPnt(0) = 2: stPnt(1) = 1: stPnt(2) = 0
   
    ' 创建直线
    Dim j As Integer
    For j = 0 To 3
      ThisDrawing.StartUndoMark
      Set line = ThisDrawing.ModelSpace.AddLine(stPnt, endPnt)
      stPnt(0) = stPnt(0) + 3

      endPnt(0) = endPnt(0) + 3
      ThisDrawing.EndUndoMark
    Next
    ZoomAll
   
End Sub

Luster 发表于 2003-1-7 17:14:00

但是如何运行undo

Luster 发表于 2003-1-7 17:26:00

但是如何运行undo命令呢?

我是想在程序开始和结尾设置标志,一旦程序运行过程中,出现错误
直接跳转到错误处理程序,让后一个undo命令,把图形恢复到没有运行
出程序之前的样子,这个undo命令怎么运行,除了用SendCommand方法
在VBA中还有其它的方法没有。

efan2000 发表于 2003-1-7 18:18:00

还有SendKeys,但和SendCommand的原理一样。

页: [1]
查看完整版本: 在VBA中怎么执行undo命令