你的位置:软件开发专业公司 > 软件定制开发 > 软件定制开发 VBA普及篇35 VBA操作Word/PPT/Access_CreateObject/GetObject_getobject vba

软件定制开发 VBA普及篇35 VBA操作Word/PPT/Access_CreateObject/GetObject_getobject vba

时间:2024-08-09 05:47:17 点击:192 次
著作目次 1. Word参数2. PPt/Access3. office的相互调用3.1 工程创建CrateObject3.2 对比上头速率高,后果快GetObject 1. Word参数

图片

参数含义ApplicationWord诓骗自身Document代表一个Word文献Characters该文献中统统字符 参数含义Range.Text该Range的骨子,即其中统统字符组成的字符串,荒谬于Excel中的Range.Value属性Range(num1,num2) 从0运转,从第n个字符到第n个字符.通过使用指定的运转和竣事字符位置复返一个 Range 对象。 参数含义Document.Range该文档中统统字符组成的Range对象Document.Range.Text该文档中统统的沿途文本Document.Paragraphs(i)段落属性Document.Paragraph

图片

图片

Option Explicit
Sub chgNamberColor()
    Dim i As Long, j As Long, r As Range
    
    For i = 1 To 28
        For j = 1 To 25
        
            Set r = Cells(i, j)
            
            If IsNumeric(r.Value) Then
                r.Font.Color = vbRed
                r.Font.Bold = True
                r.Font.Italic = True
               
            End If
        
        Next j
    Next i
End Sub
' 本设施不错修改将现时步履文档中的统统百分数的格式
Sub chgNumbers2()
    Dim c As Range, d As Document
    Dim reg As Object, mches As Object, mch As Object
    
    '让d 代阐发时步履文档
    Set d = Application.ActiveDocument
    
    '创建正则抒发对象,搜索百分比数字(点号出现0次或1次)
    Set reg = CreateObject("vbscript.regexp")
    reg.Pattern = "\d+\.?\d+%"
    reg.Global = True
    
    '将现时文档沿途翰墨动作一个字符串,引申正则抒发式
    Set mches = reg.excute(d.Range.Text)
    
    '关于每一个查找结果,笔据其在沿途文本中的出现位置,信服Range范围
    '并将该Range对象赋值给变量c,然后开辟 c 的格式
    For Each mch In mches
        
        Set c = d.Range(mch.firstindex, mch.firstindex + mch.Length)
        c.Font.ColorIndex = wdRed
        c.Font.Bold = True
        c.Font.Italic = True
                
    Next mch
End Sub

图片

Sub newDocs() '操作word文档
    Dim i As Long, p As Paragragh
    Dim d1 As DocumentInspector, d2 As documnet
    
    '让d1 代表本文档,以免后头添加新文档时,发生强大
    Set d1 = activeDocument
    
    '用变量 i 截至每个新文献的文献名
    i = 1
    
    '扫描每个段落
    For Each p In d1.Paragraphs
        '新建一个文档并赋值给d2
        Set d2 = Application.Document.add
        '将该段落的翰墨骨子赋值给d2文档,
        d2.Range.test = d1.Paragraphs(i).Range.Text
        
        ' 笔据i定名文海,让后保存并关闭
        d2.SaveAs "d:\vbademo\" & i & ".docx"
        d2.Close
        
        
        '让i加多1,以备下次文档定名使用
        i = i + 1
        
    Next p
End Sub

图片

Sub importFromWord()'遍历word写入Excel

    Dim w As Object, i As Long, doc As Object
    '创建一个word的application对象,有w代表
    Set w = CreateObject("word.application")
    
    ' 轮回洞开使用数字定名的各个word文档,有doc代表
    For i = 1 To 8
    
        Set doc = w.Document.Open("d:\vbademo\") & i & ".docx"
        
        ' 将该文档的翰墨骨子写入到Excel 使命表第i行
        Cells(i, 1) = doc.Range.Text
        
        '关闭该文档
        doc.Close
        
        
    Next i
    
    '关闭word(如斯句未引申,则WINWORD.EXE长久存在于内存中,因而再次洞开word文档时,可能发生舛讹)
    
    w.Quit
    
    
End Sub

图片

Sub importFromWord2()
    
    Dim i As Long, doc As objcet
    
    For i = 1 To 8
    
        Set doc = Getobject("d:\vbademo\" & i & ".docx")
         ' 将该文档的翰墨骨子写入到Excel 使命表第i行
        Cells(i, 1) = doc.Range.Text
        
        '关闭该文档
        doc.Close
        
    Next i
    

End Sub

图片

app
2. PPt/Access

PPT: Presentation对象代表一个PPT文献⇒ Slides中的Slide代表每个一幻灯片 具体行径同Word

3. office的相互调用

Office对象足够相通,不错相互调用,了解对应的软件结构即可

3.1 工程创建CrateObject

CrateObject("word.application")外部诓骗对象调用,常用操作行径创建一个对应的对象

3.2 对比上头速率高,后果快GetObject

Set a = GetObject("文献名") 大致洞开该文献,并径直生成一个相应的对象赋值给a,从而不错使a操作该文献

图片

本站仅提供存储做事,统统骨子均由用户发布,如发现存害或侵权骨子,请点击举报。

上期第一位开出奖号:2,间隔22期出现,软件开发专业公司走势非常冷,最近10期该位热码表现非常低迷,本期适当关注该位热码逐渐回补软件定制开发,参考号码2。

服务热线
官方网站:9oo9.com.cn
工作时间:周一至周六(09:00-18:00)
联系我们
QQ:2852320325
邮箱:w365jzcom@qq.com
地址:武汉东湖新技术开发区光谷大道国际企业中心
关注公众号

Powered by 软件开发专业公司 RSS地图 HTML地图

Copyright Powered by365建站 © 2013-2024 云迈科技 版权所有