Word VBA 绘制直尺
生活随笔
收集整理的這篇文章主要介紹了
Word VBA 绘制直尺
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
剛想弄個直尺文檔給買不到公制直尺的朋友用,結果搜到的文檔全是收費的,搞得我火冒三丈,氣不過自己寫個!
話不多說,直接上代碼:
Sub 畫直尺() Dim x1, x2, y1, y2, i, j, T1 T1 = CentimetersToPoints(0.1) For i = 0 To 280 '28cm長x1 = CentimetersToPoints(1 + (i - 1) / 10)x2 = x1y1 = CentimetersToPoints(1)If i Mod 5 = 0 Theny2 = CentimetersToPoints(1.7)If i Mod 10 = 0 Theny2 = CentimetersToPoints(2)'-------加數值ActiveDocument.Shapes.AddTextEffect(msoTextEffect1, i / 10, "Times New Roman", 12#, msoFalse, msoFalse, x1 - T1, y2 + T1).SelectSelection.ShapeRange.Fill.ForeColor.RGB = RGB(0, 0, 0)Selection.ShapeRange.Fill.Visible = msoTrueSelection.ShapeRange.Fill.SolidSelection.ShapeRange.Line.Visible = msoFalseSelection.ShapeRange.Width = CentimetersToPoints(0.2)Selection.ShapeRange.Height = CentimetersToPoints(0.4) ' Selection.ShapeRange.IncrementLeft -397.3 ' Selection.ShapeRange.IncrementTop -223.8End IfElsey2 = CentimetersToPoints(1.4)End IfActiveDocument.Shapes.AddLine x1, y1, x2, y2 Next End Sub畫好的效果如下,A4 紙橫向,1 后面的 cm 是手工加上去的,懶得弄代碼了。
打印出來和我上學時用的工程制圖直尺對比了一下,28厘米長有0.2毫米左右的誤差,也就是約有 0.071%的誤差,在可接受范圍內:
感覺誤差來自打印機的機構。
最后,說下使用前注意事項:
畫任意直線,先設置直線寬度為 0.1 磅
然后在此直線上點擊右鍵,將其設為默認效果:
因為我懶得再用代碼設置線型了。
會用 VBA 的自己復制代碼運行即可,就不提供 doc 文檔下載了。
總結
以上是生活随笔為你收集整理的Word VBA 绘制直尺的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: honeywell Xenon 1900
- 下一篇: Word VBA:MathType公式与