VBA提高篇35 VBA操作Word/PPT/Access_CreateObject/GetObject
文章目录
- 1. Word参数
- 2. PPt/Access
- 3. office的互相调用
- 3.1 工程创建CrateObject
- 3.2 对比上面速度高,效率快GetObject
1. Word参数
参数 | 含义 |
---|---|
Application
|
Word应用本身 |
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 RangeFor i = 1 To 28For j = 1 To 25Set r = Cells(i, j)If IsNumeric(r.Value) Thenr.Font.Color = vbRedr.Font.Bold = Truer.Font.Italic = TrueEnd IfNext jNext i
End Sub
' 本程序可以修改将当前活动文档中的所有百分数的格式
Sub chgNumbers2()Dim c As Range, d As DocumentDim 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 mchesSet c = d.Range(mch.firstindex, mch.firstindex + mch.Length)c.Font.ColorIndex = wdRedc.Font.Bold = Truec.Font.Italic = TrueNext mch
End Sub
Sub newDocs() '操作word文档Dim i As Long, p As ParagraghDim d1 As DocumentInspector, d2 As documnet'让d1 代表本文档,以免后面添加新文档时,发生混乱Set d1 = activeDocument'用变量 i 控制每个新文件的文件名i = 1'扫描每个段落For Each p In d1.Paragraphs'新建一个文档并赋值给d2Set 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 + 1Next p
End Sub
Sub importFromWord()'遍历word写入ExcelDim w As Object, i As Long, doc As Object'创建一个word的application对象,有w代表Set w = CreateObject("word.application")' 循环打开使用数字命名的各个word文档,有doc代表For i = 1 To 8Set doc = w.Document.Open("d:\vbademo\") & i & ".docx"' 将该文档的文字内容写入到Excel 工作表第i行Cells(i, 1) = doc.Range.Text'关闭该文档doc.CloseNext i'关闭word(如此句未执行,则WINWORD.EXE始终存在于内存中,因而再次打开word文档时,可能发生错误)w.QuitEnd Sub
Sub importFromWord2()Dim i As Long, doc As objcetFor i = 1 To 8Set doc = Getobject("d:\vbademo\" & i & ".docx")' 将该文档的文字内容写入到Excel 工作表第i行Cells(i, 1) = doc.Range.Text'关闭该文档doc.CloseNext iEnd Sub
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操作该文件
VBA提高篇35 VBA操作Word/PPT/Access_CreateObject/GetObject相关推荐
- VBA提高篇_12_1 VBA判断奇偶数的方法
VBA 判断奇偶数的方法 Sub test() Debug.Print 1 And 1 '1 奇数 Debug.Print 2 And 1 '0 偶数 Debug.Print 3 And 1 '1 奇 ...
- VBA提高篇_18 VBA代码录制优化Select(tion)_表格合并Merge()_Cells()_Rows()_Columns()
文章目录 1. Cells(1,1) 2. Rows(Str)和Columns(Str) 3. VBA合并单元格 3.1 Range.MergeCells属性: 3.2 Range.Merge/UnM ...
- 学习日志 全民一起VBA提高篇 第四回 日期类型穿梭岁月 时间函数算尽光阴
学习日志 全民一起VBA提高篇 第四回 日期类型穿梭岁月 时间函数算尽光阴 相关知识点 一.获取当前系统时间1. date() 或date 可获得日期 如 2019/2/12. time() 或tim ...
- 全民一起VBA提高篇第十课:字典对象
字典 题目要求 将课程名称以及挂科人数进行汇总 给出的数据是几十个班混在一起,挂科人数是每个班的人数,现在需要把他们相同的科目统计一个总人数 只看这个要求,其实用数据透视表可以很快得出结果,但是任何E ...
- 全民一起VBA提高篇 第二十八回 任凭字符串千变万化,难逃正则式一定之规
相关知识点 正则表达式:字符串或文本结构的表达式. 练习网站:deerchao.net 或搜索正则表达式30分钟教程 重复结构: 同一内容连续出现n次(n>=0) + 是元字 ...
- VBA提高篇_19 可选参数Optional_ IsMissing _MSgbox
文章目录 1. 可选参数Optional 2.IsMissing判断参数是否提供,只能判断变体类型 3. 使用 := 可以按参数名传递参数 a:=1,c:=3 4.Msgbox 常用参数 4.1 Ms ...
- VBA提高篇_16 传递Range提升自定义函数,巧用属分辨公式型内容
文章目录 需求1: 工作簿内各表单元格区域红色字体求和 普通写法: 过程化写法: Range自定义函数 需求2: 按行求积再相加 Range.hasFormula属性 Range.Formula属性 ...
- VBA提高篇_17 区域合纵连横,单元格精准定位
文章目录 Application.Union方法: Application.Intersect方法: Range.CurrentRegion属性: Range.Resize(3,2) Range.Of ...
- python批量生成word报告_Python操作Word批量生成合同的实现示例
背景:大约有3K家商家需要重新确认信息并签订合同.合同是统一的Word版本.每个供应商需要修改合同内的金额部分.人工处理方式需要每个复制粘贴且金额要生成大写金额.基于重复工作可偷懒.用Python解救 ...
最新文章
- JQuery Tables 的应用(一)
- 生产上第一使用线程池后的总结与反思
- 7个重要内排序算法的实现以及实验比较
- 微软发布自己定制的 Linux 内核和发行版,面向物联网
- 归一化、标准化和正则化
- TensorFlow 深度学习实战指南中文版
- java的robot一直按住某个键_SHIFT键在CAD中使用技巧
- 一本通例题-生日蛋糕——题解超强深搜剪枝,从无限到有限
- seo模拟点击软件_百度快排软件原理分析
- 《xxx重大需求征集系统的》可用性和可修改性战术分析
- 光学接触角计算机软件,接触角软件的功能
- “软件工程造价师”和“软件造价评估师”有什么区别?
- jiacu的css,css 加粗(css font
- python记录鼠标和键盘操作并重复_Python模拟鼠标和键盘操作实现重复性操作
- 2022年安全员-A证操作证考试题模拟考试平台操作
- 智遥工作流为SAP节省License实例
- 在Js和Java自动生成账号的方法
- 在网页中插入FLV视频,经测试兼容IE、火狐、谷歌等浏览器
- 麦肯锡三部曲_越拼命工作,越不快乐?麦肯锡“提问式思维”帮你发现问题本质...
- 图数据库查询语言Cypher、Gremlin和SPARQL
热门文章
- 强制下线 使用本地广播
- PB想从程序里面控制自己想要的纸张的大小而不用去打印机里去设置纸张
- GameUnity 2.0 文档(五) 人工智能之---------------Flocking算法 (聚集,分散,列队 )...
- 自动胶球清洗装置与冷凝器在线清洗装置的区别
- Linux MTD子系统(1):系统层次分析
- EasyConnect找不到小图标,原来是换成浮窗了
- SAP系统发送邮件到外部邮箱
- 漏洞扫描之OpenVas
- 【夯实Spring Cloud】Spring Cloud中的Eureka服务注册与发现详解
- WPD 1.3.1083 中文免费版