vba word

Sub repalce()



datas = Array("[2020]76", "20201019", "", "洋南单元", "CX-07-01-02E-6号地块", "工业用地", "现状农田", "联谊西路", "西城路", "现状农田", "36112平方米")



With Selection
        .Find.ClearFormatting
        .Find.Replacement.ClearFormatting
        With .Find
             .Text = "{$编号}"
             .Replacement.Text = datas(0)
        End With
        .Find.Execute Replace:=wdReplaceAll
 
        
End With
End Sub



Sub test()
    Set oDoc = ActiveDocument
    With oDoc
       For Each oSP In .Shapes
        With oSP
            '如果类型是文本框则...
            If .Type = msoTextBox Then
                Debug.Print .Name
                 '修改文本框中的文本
                .TextFrame.TextRange.Text = "测试"
            End If
        End With
       Next
    End With
End Sub


Sub AddText()
    Set DocNew = ActiveDocument
    Set NewT = DocNew.Shapes.AddTextbox(1, 240, 765, 53, 21)
    NewT.TextFrame.TextRange.InsertAfter "Hello world 1"

End Sub


批量接受所有文档修定

Sub acceptrevisions()    '此代码功能为列出指定文件夹中所有选取的WORD文件全路径名
    Dim myDialog As FileDialog, oDoc As Document, oSec As Section
    Dim oFile As Variant, myRange As Range
    On Error Resume Next
    '定义一个文件夹选取对话框
    Set myDialog = Application.FileDialog(msoFileDialogFilePicker)
    With myDialog
        .Filters.Clear    '清除所有文件筛选器中的项目
        .Filters.Add "所有 WORD 文件", "*.doc", 1    '增加筛选器的项目为所有WORD文件
        .AllowMultiSelect = True    '允许多项选择
        If .Show = -1 Then    '确定
            For Each oFile In .SelectedItems    '在所有选取项目中循环
                Set oDoc = Word.Documents.Open(FileName:=oFile, Visible:=False)
                For Each oSec In oDoc.Sections    '文档的节中循环
                    Set myRange = oSec.Range
                    myRange.Revisions.AcceptAll   '接受所选范围内的所有修订标记
                Next
                oDoc.Close True
            Next
        End If
    End With
End Sub

### 关于VBAWord中的编程实例和教程 #### 使用VBA自动化Word文档创建 通过VBA可以实现对Microsoft Word的全面控制,从而完成诸如自动生成报告、批量处理文档等任务。例如,在Word中利用VBA宏来插入特定格式的文字或者表格[^1]。 ```vba Sub InsertText() Dim doc As Document Set doc = ActiveDocument ' 插入一段文字到当前光标位置 Selection.TypeText Text:="这是使用VBA插入的一段测试文字" End Sub ``` 此代码片段展示了如何向活动文档中指定的位置添加文本字符串。 #### 创建新文档并保存文件 下面这段脚本演示了怎样新建一个空白文档,并将其另存为磁盘上的某个路径下的`.docx`文件。 ```vba Sub CreateAndSaveDoc() Dim newDoc As Document Set newDoc = Documents.Add With newDoc .Content.Text = "这里是新的Word文档的内容." .SaveAs2 FileName:= _ "C:\path\to\your\file.docx", FileFormat:=wdFormatXMLDocument End With End Sub ``` 上述例子说明了基本的新建与保存操作流程;其中需要注意的是要替换实际存在的目录地址以适应个人环境需求。 #### 应用样式至选定内容 为了保持一致性以及提高工作效率,还可以借助VBA选中文档部分应用预定义好的样式表项。 ```vba Sub ApplyStyleToSelection() If Selection.Range <> "" Then Selection.Style = ActiveDocument.Styles("Heading 1") Else MsgBox ("请选择一些文本再试一次.") End If End Sub ``` 当执行该过程时会检查是否有有效范围被选取,若有则设置其风格属性为“标题1”。 #### 自动化邮件合并功能 对于频繁发送相同模板信件的情况来说,Mail Merge是一项非常实用的功能。可以通过编写适当逻辑驱动整个过程自动运行,减少人工干预次数的同时也降低了错误率。 ```vba Sub AutomateMailMerge() Dim mainDoc As Document, dataSrc As String Set mainDoc = ActiveDocument dataSrc = "C:\Users\User\Desktop\data.csv" With mainDoc.MailMerge .MainDocumentType = wdFormLetters .OpenDataSource Name:=dataSrc ' 执行合并动作前先预览结果 .Execute Pause:=True End With End Sub ``` 这里假设有一个CSV格式的数据源作为收件人列表输入参数参与进来辅助构建最终输出版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值