Vba问题
私有子GetPlais\u Click()Dim tmpnt1作为变体,tmpnt2作为变体,tmpPnt1作为变体
Dim lole(0到2)为双精度,upri(0到2)为双精度
Dim returnobj作为AcadObject
FrmGrid3.隐藏
关于错误转到Eline
此图纸。公用事业GetEntity returnobj,tmpPnt1,“ðÝëëëëëëëëëëëëëëëëëëëëëë
如果returnobj的类型为IAcadPViewport,则
设置viewportObj=returnobj
视口对象。UCSIconOn=真
视口对象。UCSIconAtOrigin=True
视口对象。显示真实
Scal=1000/viewportObj。CustomScale’=1000/CDbl(cbScale.Text)
其他的
MsgBox“ViewPort!!!”,vbOKOnly,“Ó÷åäßççèèè
FrmGrid3.Show
出口接头
如果结束
lole(0)=视口对象。居中(0)-视口对象。宽度/2
lole(1)=视口对象。居中(1)-视口对象。高度/2
upri(0)=视口对象。居中(0)+视口对象。宽度/2
upri(1)=视口对象。居中(1)+视口对象。高度/2
PntUpLPap(0)=lole(0):PntDoLPap(0)=lole(0):PntUpRPap(0)=upri(0):PntDoRPap(0)=upri(0)
PntUpLPap(1)=upri(1):PntDoLPap(1)=lole(1):PntUpRPap(1)=upri(1):PntDoRPap(1)=lole(1)
tmpnt1=此图纸。公用事业平移坐标(lole、acPaperSpaceDCS、acDisplayDCS、False)
tmpnt1=此图纸。公用事业平移坐标(tmpnt1、acDisplayDCS、acWorld、False)
TxtDoLX。文本=格式(tmpnt1(0),“0.##0”):PntDoLmod(0)=tmpnt1(0)
TxtDoLY。文本=格式(tmpnt1(1),“0.##0”):PntDoLmod(1)=tmpnt1(1)
tmpnt1=此图纸。公用事业平移坐标(upri、acPaperSpaceDCS、acDisplayDCS、False)
tmpnt1=此图纸。公用事业平移坐标(tmpnt1、acDisplayDCS、acWorld、False)
TxTPRx。文本=格式(tmpnt1(0),“0.##0”):PntUpRmod(0)=tmpnt1(0)
TxtUpRY。文本=格式(tmpnt1(1),“0.##0”):PntUpRmod(1)=tmpnt1(1)
tmpnt1(0)=lole(0)
tmpnt1(1)=upri(1)
tmpnt1=此图纸。公用事业平移坐标(tmpnt1、acPaperSpaceDCS、acDisplayDCS、False)
tmpnt1=此图纸。公用事业平移坐标(tmpnt1、acDisplayDCS、acWorld、False)
TxTPLx。文本=格式(tmpnt1(0),“0.##0”):PntUpLmod(0)=tmpnt1(0)
TxtUpLY。文本=格式(tmpnt1(1),“0.##0”):PntUpLmod(1)=tmpnt1(1)
tmpnt1(0)=upri(0)
tmpnt1(1)=lole(1)
tmpnt1=此图纸。公用事业平移坐标(tmpnt1、acPaperSpaceDCS、acDisplayDCS、False)
tmpnt1=此图纸。公用事业平移坐标(tmpnt1、acDisplayDCS、acWorld、False)
TxtDoRX。文本=格式(tmpnt1(0),“0.##0”):PntDoRmod(1)=tmpnt1(0)
TxtDoRY。文本=格式(tmpnt1(1),“0.##0”):PntDoRmod(1)=tmpnt1(1)
Eline:
FrmGrid3.Show
末端接头
我无法理解这个问题!!!! 齐马罗斯,
请阅读代码发布指南并编辑您的帖子。 你应该重做你的项目或给所有的模块代码。。。
Private Sub GetPlais_Click()
'you have to dim these as open arrays, SEE OPEN ARRAY below
Dim tmpnt1() As Variant
' where is this one??
Dim tmpPnt1 As Variant
' YOUR NOT USING THIS ONE AT ALL
tmpnt2 As Variant
Dim lole(0 To 2) As Double, upri(0 To 2) As Double
Dim returnobj As AcadObject
FrmGrid3.Hide
On Error GoTo Eline
ThisDrawing.Utility.GetEntity returnobj, tmpPnt1, "ÅðÝëåîå ôï ViewPort ðïõ èá äçìéïõñãçèåß ï êÜíáâïò!"
If TypeOf returnobj Is IAcadPViewport Then
Set viewportObj = returnobj
viewportObj.UCSIconOn = True
viewportObj.UCSIconAtOrigin = True
viewportObj.Display True
Scal = 1000 / viewportObj.CustomScale '= 1000 / CDbl(cbScale.Text)
Else
MsgBox "ÄÝí åðÝëåîåò ViewPort!!!", vbOKOnly, "Ó÷åäßáóç êáíÜâïõ"
FrmGrid3.Show
Exit Sub
End If
lole(0) = viewportObj.Center(0) - viewportObj.Width / 2
lole(1) = viewportObj.Center(1) - viewportObj.Height / 2
upri(0) = viewportObj.Center(0) + viewportObj.Width / 2
upri(1) = viewportObj.Center(1) + viewportObj.Height / 2
' ARE THESE GLOBAL?
PntUpLPap(0) = lole(0): PntDoLPap(0) = lole(0): PntUpRPap(0) = upri(0): PntDoRPap(0) = upri(0)
PntUpLPap(1) = upri(1): PntDoLPap(1) = lole(1): PntUpRPap(1) = upri(1): PntDoRPap(1) = lole(1)
tmpnt1 = ThisDrawing.Utility.TranslateCoordinates(lole, acPaperSpaceDCS, acDisplayDCS, False)
tmpnt1 = ThisDrawing.Utility.TranslateCoordinates(tmpnt1, acDisplayDCS, acWorld, False)
TxtDoLX.Text = Format(tmpnt1(0), "0.##0"): PntDoLmod(0) = tmpnt1(0)
TxtDoLY.Text = Format(tmpnt1(1), "0.##0"): PntDoLmod(1) = tmpnt1(1)
tmpnt1 = ThisDrawing.Utility.TranslateCoordinates(upri, acPaperSpaceDCS, acDisplayDCS, False)
tmpnt1 = ThisDrawing.Utility.TranslateCoordinates(tmpnt1, acDisplayDCS, acWorld, False)
TxtUpRX.Text = Format(tmpnt1(0), "0.##0"): PntUpRmod(0) = tmpnt1(0)
TxtUpRY.Text = Format(tmpnt1(1), "0.##0"): PntUpRmod(1) = tmpnt1(1)
' OPEN ARRAY:
tmpnt1(0) = lole(0)
tmpnt1(1) = upri(1)
tmpnt1 = ThisDrawing.Utility.TranslateCoordinates(tmpnt1, acPaperSpaceDCS, acDisplayDCS, False)
tmpnt1 = ThisDrawing.Utility.TranslateCoordinates(tmpnt1, acDisplayDCS, acWorld, False)
TxtUpLX.Text = Format(tmpnt1(0), "0.##0"): PntUpLmod(0) = tmpnt1(0)
TxtUpLY.Text = Format(tmpnt1(1), "0.##0"): PntUpLmod(1) = tmpnt1(1)
tmpnt1(0) = upri(0)
tmpnt1(1) = lole(1)
tmpnt1 = ThisDrawing.Utility.TranslateCoordinates(tmpnt1, acPaperSpaceDCS, acDisplayDCS, False)
tmpnt1 = ThisDrawing.Utility.TranslateCoordinates(tmpnt1, acDisplayDCS, acWorld, False)
TxtDoRX.Text = Format(tmpnt1(0), "0.##0"): PntDoRmod(1) = tmpnt1(0)
TxtDoRY.Text = Format(tmpnt1(1), "0.##0"): PntDoRmod(1) = tmpnt1(1)
Eline:
FrmGrid3.Show
End Sub
I can 't understand the problem!!!! 有什么问题?请描述一下
Dim tmpPnt1 As Variant, tmpnt2 As Variant
' YOUR NOT USING THIS ONE AT ALL
页:
[1]