帮忙改一下程序(新手求助)急!
<P>麻烦看一下下面的程序</P><P>Dim i As Integer<BR>Dim x As String<BR>Dim y As String<BR>Dim r As String<BR>Dim cen(2) As Double<BR>Dim rad As Double<BR>Dim excapp As Excel.Application<BR>Dim insertpoint(2) As Double<BR>Dim txtheight As Double<BR>Dim textstring As String<BR>Dim textobj As Object</P>
<P>Private Sub Command1_Click()</P>
<P> On Error Resume Next<BR> Set acadapp = GetObject(, "AutoCAD.Application")<BR> If Err Then<BR> Err.Clear<BR> Set acadapp = CreateObject("AutoCAD.Application")<BR> If Err Then<BR> MsgBox Err.Description<BR> Exit Sub<BR> End If<BR> End If<BR>Set acaddoc = acadapp.ActiveDocument<BR>acadapp.Visible = True</P>
<P>Set excapp = CreateObject("excel.Application")<BR>Set excapp = GetObject("excel.Application")<BR>excapp.Visible = True</P>
<P>Workbooks.Open ("D:\赵莉\VB\12.xls")</P>
<P>For i = 1 To 10</P>
<P>Set acaddoc = acadapp.Document.Add<BR>Set acaddoc = acadapp.ActiveDocument<BR>x = Worksheets("sheet1").Cells(i, 2).Value<BR>y = Worksheets("sheet1").Cells(i, 3).Value<BR>r = Worksheets("sheet1").Cells(i, 4).Value<BR>cen(0) = Val(x)<BR>cen(1) = Val(y)<BR>rad = Val(r)<BR>Set AcadCircle = acaddoc.ModelSpace.AddCircle(cen, rad)</P>
<P>insertpoint(0) = Val(x)<BR>insertpoint(1) = Val(y)<BR>txtheight = 30<BR>textstring = Worksheets("sheet1").Cells(i, 5)<BR>Set textobj = acaddoc.ModelSpace.AddText(textstring, insertpoint, txtheight)</P>
<P>Text1.Text = "d:\" & Str(i) & ".dwg"<BR>acaddoc.SaveAs (Text1.Text)<BR>Next<BR>End Sub<BR>现在出来的效果是第一张CAD文件里是第一个圆和数字1,第二张CAD文件里是第一和第二个圆以及数字1和2,第叁张是1、2、3个圆和数字1、2、3,依次类推。而我想要的效果是第一张是第一个圆和数字1,第二张是第二个圆和数字2,第叁张是第三个圆和数字3,依次类推。我明白出现这种情况的原因了,但是不知道怎么修改。</P>
<P>还有另外一个问题,如果我是想打开已知的文件对其进行如上操作应该怎么做?</P> <P>Set acaddoc = acadapp.Documents.Add Document 后面加个s<BR>'Set acaddoc = acadapp.ActiveDocument 这一行删掉</P>
<P>最后几行做成个变量:<BR>tempstr = "d:\" & Str(i) & ".dwg"<BR>acaddoc.SaveAs tempstr<BR>acaddoc.Close<BR><BR>另外,你用Application打开EXCEL效率太低,最好用DAO或ADO。</P>
<P> </P> 谢谢楼上,程序改好了。负责人又有新要求了,还得继续编程序。什么时候 才能满足他的要求呀?!ADO 是不是要看关于VB6数据库的书哪?
页:
[1]