麻烦看一下下面的程序
Dim i As Integer Dim x As String Dim y As String Dim r As String Dim cen(2) As Double Dim rad As Double Dim excapp As Excel.Application Dim insertpoint(2) As Double Dim txtheight As Double Dim textstring As String Dim textobj As Object
Private Sub Command1_Click()
On Error Resume Next Set acadapp = GetObject(, "AutoCAD.Application") If Err Then Err.Clear Set acadapp = CreateObject("AutoCAD.Application") If Err Then MsgBox Err.Description Exit Sub End If End If Set acaddoc = acadapp.ActiveDocument acadapp.Visible = True
Set excapp = CreateObject("excel.Application") Set excapp = GetObject("excel.Application") excapp.Visible = True
Workbooks.Open ("D:\赵莉\VB\12.xls")
For i = 1 To 10
Set acaddoc = acadapp.Document.Add Set acaddoc = acadapp.ActiveDocument x = Worksheets("sheet1").Cells(i, 2).Value y = Worksheets("sheet1").Cells(i, 3).Value r = Worksheets("sheet1").Cells(i, 4).Value cen(0) = Val(x) cen(1) = Val(y) rad = Val(r) Set AcadCircle = acaddoc.ModelSpace.AddCircle(cen, rad)
insertpoint(0) = Val(x) insertpoint(1) = Val(y) txtheight = 30 textstring = Worksheets("sheet1").Cells(i, 5) Set textobj = acaddoc.ModelSpace.AddText(textstring, insertpoint, txtheight)
Text1.Text = "d:\" & Str(i) & ".dwg" acaddoc.SaveAs (Text1.Text) Next End Sub 现在出来的效果是第一张CAD文件里是第一个圆和数字1,第二张CAD文件里是第一和第二个圆以及数字1和2,第叁张是1、2、3个圆和数字1、2、3,依次类推。而我想要的效果是第一张是第一个圆和数字1,第二张是第二个圆和数字2,第叁张是第三个圆和数字3,依次类推。我明白出现这种情况的原因了,但是不知道怎么修改。
还有另外一个问题,如果我是想打开已知的文件对其进行如上操作应该怎么做? |