ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2984|回复: 1

[求助]画方格纸代码碰到的问题,请高手帮助

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-5-23 15:55 | 显示全部楼层 |阅读模式

画方格纸出现的问题,我想方格的宽度与高度用文本框输入,然后毫米转换成points,为什么不行? 如果gd=8,kd=8就可以呢?

Private Sub Button_Click()
Dim i
On Error Resume Next
Dim fgm(4) As String
Dim fgh As Integer
Dim fgL As Integer
gd = MillimetersToPoints(gd.Text)
kd = MillimetersToPoints(kd.Text)
    fg = 120
    fgg = 120
    fgh = xcount.Text
    fgL = ycount.Text
  With ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, fg, fgg)
    fg1 = 0
    fgg2 = fgg
    For i = 0 To fgh
    If fg1 = 0 Then
    fg1 = kd
  
* fgL
  Else
    fg1 = 0
  End If
    fg2 = fg1 + fg
        .AddNodes msoSegmentLine, msoEditingAuto, fg2, fgg2
        fgg1 = fgg1 + kd

        fgg2 = fgg1 + fgg
       If i = fgh Then
      kkp = 0
       Else
       .AddNodes msoSegmentLine, msoEditingAuto, fg2, fgg2
       End If
Next i
        .ConvertToShape.Select
    End With
   Selection.ShapeRange.IncrementRotation 180#
   fgm(0) = Selection.ShapeRange(1).Name
  With ActiveDocument.Shapes.BuildFreeform(msoEditingAuto, fg, fgg)
fgg1 = 0
fg1 = 0
fgg2 = fgg
For i = 0 To fgL
If fg1 = 0 Then
fg1 = gd * fgh
Else
fg1 = 0
End If
fg2 = fg1 + fg
        .AddNodes msoSegmentLine, msoEditingAuto, fgg2, fg2
        fgg1 = fgg1 +kd 

 fgg2 = fgg1 + fgg
       If i = fgL Then
      kkp = 0
       Else
       .AddNodes msoSegmentLine, msoEditingAuto, fgg2, fg2
       End If
Next i
        .ConvertToShape.Select
    End With
fgm(1) = Selection.ShapeRange(1).Name
ActiveDocument.Shapes.Range(Array(fgm(0), fgm(1))).Select
    Selection.ShapeRange.Group.Select
  Unload fgform
End Sub

[此贴子已经被作者于2007-5-23 20:03:33编辑过]

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-5-23 16:03 | 显示全部楼层

解决了,

gd = MillimetersToPoints(gd.Text)
kd = MillimetersToPoints(kd.Text)


gd = MillimetersToPoints(me.gd.Text)
kd = MillimetersToPoints(me.kd.Text)

可以了

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 22:49 , Processed in 0.023946 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表