优秀的编程知识分享平台

网站首页 > 技术文章 正文

Excel vba 如何自动制作公司印章,点两下鼠标就完成,太简单了

nanyue 2024-12-19 15:29:34 技术文章 4 ℃

No.1

Excel vba 的强大是无法估计的,除对数据进行一些处理之外,它还有许多图形管理方面的方法,通常由于其难度较大,真正学会的人并不鲜见。

办公工作当中,有时候需要制作一个公司印章来处理合同文本。本节将制作一个印章自动生成的方法,需要的就赶快收藏起来。

如下图所示,生成一个印章,当然了,以圆形为代码,想生成其它形状,可联系作者修改格式,这里不做介绍。

其实整个操作过程并不复杂,让我们分析一下,整个过程,具体制作的代码,文章后面有介绍。

印章中有三个对象组成,一个文本框,1个圆形对象和一个五角形图形对象。

添加方法分别为:

  • 文本框:Shapes.AddTextbox(msoTextOrientationHorizontal, T, L, W, H)
  • 圆形:Shapes.AddShape(msoShapeOval, T, L, W, H)
  • 五角形:Shapes.AddShape(msoShape5pointStar, T, L, W, H)

很显然只用了一个方法,Shapes.AddShape()

这个方法就是添加图形对象的作用,其中的第一个参数为图形类型,TLWH,分别代表图形的顶部边距,左边距,宽和高。

其中图形类型是一个MsoAutoShapeType 枚举值,代表了不同的图形,大约有几十种或者更多,在对应着插入菜单中的各种图形,有兴趣可自己对照学习。

No.2

接下来,看一下实现的过程。

制作过程,首先输入公司名称,然后单击一下鼠标就完成了。

操作很简单,其原因是完全用代码来进行处理,下面是参考代码:

添加印章文字

Sub AddText(T, L, W, H, Str)
'添加文字
    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, T, L, W, H).Select
    Selection.ShapeRange.TextFrame2.TextRange.Characters.Text = Str 
    Selection.ShapeRange.Fill.Visible = msoFalse
    With Selection.ShapeRange.TextFrame2.TextRange.Font
        .Fill.Visible = msoTrue
        .Fill.Solid
        .Fill.ForeColor.RGB = RGB(255, 1, 1)
        .Size = 38
        .Name = "仿宋"
        .Bold = True
    End With
    Selection.ShapeRange.TextEffect.PresetShape = msoTextEffectShapeArchUpCurve
End Sub

添加印章外边框圆形

Sub AddOval(T, L, W, H)
'添加一个圆
ActiveSheet.Shapes.AddShape(msoShapeOval, T, L, W, H).Select  
    Selection.ShapeRange.Fill.Visible = msoFalse
    With Selection.ShapeRange.Line
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
         .Weight = 4.5
    End With
End Sub

添加五角星

Sub Add5PointStar(T, L, W, H)
' 添加一个五角星
   ActiveSheet.Shapes.AddShape(msoShape5pointStar, T, L, W, H).Select
    With Selection.ShapeRange.Line
        .Visible = msoFalse
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
    End With
    With Selection.ShapeRange.Fill
        .Visible = msoTrue
        .ForeColor.RGB = RGB(255, 0, 0)
        .Transparency = 0
        .Solid
    End With
End Sub

这个小功能还是十分有意思的,但是不能做不应该做的事情,欢迎关注、收藏。

最后欣赏一下制作成果。

---END---

最近发表
标签列表