排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
Range范围的调整及EXCEL单元格及图表插入
Range范围的调整及EXCEL单元格及图表插入
VBA语言専攻
2022-03-19
499
【
分享成果,随喜正能量】不要对失去过于纠结,这不仅有利于让你放下曾经的美好事物,也有利于让你在面对现在所拥有的一切,能够更加安心、更加踏实。
。
《VBA之Word应用》,是我推出第八套教程,教程是专门讲解VBA在Word中的应用,围绕“面向对象编程”讲解,首先让大家认识Word中VBA的对象,以及对象的属性、方法,然后通过实例让大家感受到Word VBA 的妙处。本套教程共三册十六章,今日内容第六章 “Word中的Range对象(下)”第3节:Range范围的调整及EXCEL单元格及图表插入
第三节
Range对象的方法
(七)
大家好,我们这讲继续Range对象方法的讲解,在上一讲中我们讲解了Range对象的InsertParagraph方法、InsertParagraphAfter方法、InsertParagraphBefore方法,这节我们将讲解SetRange 方法、PasteAndFormat方法、PasteSpecial 方法。
1 Range.SetRange
方法
这种方法设置现有范围的起始字符和结束字符的位置。
语法:expression. SetRange(Start, End)
其中expression 是必需的,是一个代表Range对象的变量
参数:
1)Start 必需 Long 范围的起始字符位置。
2)End 必需 Long 范围的结束字符位置。
l
字符位置值从文章的开头开始,第一个值为0(零)。 将计算所有字符,包括非打印字符。 隐藏字符即便未显示也计算在内。
l
SetRange 方法以重新定义现有的 Range 对象的起始和结束位置。此方法不同于Range方法,后者用于在给出起始和结束位置的情况下创建范围。
2 Range.PasteAndFormat
方法
该方法粘贴选定的表格单元格,并为其设置指定的格式。
语法:expression.PasteAndFormat(Type)
其中expression 是必需的,是一个代表Range对象的变量
参数:Type 必需 WdRecoveryType 粘贴所选的表格单元格时使用的格式类型。
WdRecoveryType 枚举值:
wdChart 14 将 Microsoft Office Excel 图表粘贴为嵌入的 OLE 对象
wdChartLinked 15 粘贴 Excel 图表并将其链接到原始 Excel 电子表格
wdChartPicture 13 将 Excel 图表粘贴为图片
wdFormatOriginalFormatting 16 保留所粘贴材料的原始格式
wdFormatPlainText 22 粘贴为无格式的纯文本文字
wdFormatSurroundingFormattingWithEmphasis 20 使所粘贴文本的格式与周围文本的格式匹配
wdListCombineWithExistingList 24 将粘贴的列表与邻近的列表合并.
wdListContinueNumbering 7 使粘贴的列表根据文档中的列表继续编号。
wdListDontMerge 25 不支持.
wdListRestartNumbering 8 对粘贴的列表重新进行编号
wdPasteDefault 0 不支持.
wdSingleCellTable 6 将单个单元格表格粘贴为独立的表格。.
wdSingleCellText 5 将单个单元格粘贴为文本.
wdTableAppendTable 10 通过在所选行之间插入粘贴的行,将粘贴的单元格合并到现有的表格中
wdTableInsertAsRows 11 将粘贴的表格作为行插入到目标表格的两行中间.
wdTableOriginalFormatting 12 粘贴一个追加的表格,而不合并表格样式.
wdTableOverwriteCells 23 粘贴表格单元格并覆盖现有的表格单元格.
wdUseDestinationStylesRecovery 19 使用目标文档中使用的样式.
3 Range.PasteSpecial
方法
该方法插入剪贴板中的内容
语法:expression.PasteSpecial (IconIndex, Link, Placement, DisplayAsIcon, DataType, IconFileName, IconLabel)
其中expression 是必需的,是一个代表Range对象的变量
参数:
1) IconIndex 可选 Variant 如果 DisplayAsIcon 为 True,则该自变量是一个数字,对应于要在 IconFilename 指定的程序文件中使用的图标。 图标显示在“更改图标”对话框中:0(零)对应于第一个图标,1 对应于第二个图标,依此类推。 如果此参数被省略,使用的是第一个(默认)图标。
2)Link 可选 Variant 如果为 True,则创建指向“剪贴板”内容源文件的链接。 默认值为 False。
3)Placement 可选 Variant 可以为下列 WdOLEPlacement 常量之一:wdFloatOverText 或 wdInLine。 默认值为 wdInLine。
4)DisplayAsIcon 可选 Variant 如果为 True,则将链接显示为图标。 默认值为 False 。
5)DataType 可选 Variant 剪贴板内容在插入文档后采用的格式。 可以为任意 WdPasteDataType 常量。
6)IconFileName 可选 Variant 如果 DisplayAsIcon 为 True,则此参数是存储要显示的图标的文件的路径和文件名。
7)IconLabel 可选 Variant 如果 DisplayAsIcon 为 True,则此参数是显示在图标下方的文本。
WdPasteDataType 枚举:
wdPasteBitmap 4 位图.
wdPasteDeviceIndependentBitmap 5 与设备无关的位图.
wdPasteEnhancedMetafile 9 增强型图元文件
wdPasteHTML 10 HTML.
wdPasteHyperlink 7 超链接.
wdPasteMetafilePicture 3 图元文件图片.
wdPasteOLEObject 0 OLE 对象.
wdPasteRTF 1 RTF 格式
wdPasteShape 8 形状
wdPasteText 2 文本
4 实例:
Range
范围的调整及E
XCEL
单元格及图表插入
下面我们通过一个实例来讲解一下本节的知识点,这个实例中我们先定义一个Range,为当前文档的第二段,然后利用SetRange来扩展这个范围。
之后我们在文档的最后插入一个空的段落,将光标移到这个空段落之处。
紧接着,我们要打开一个Excel文件,从这个文件中,我们把B2单元格复制到剪贴板,并将剪贴板的内容以对象的格式粘贴到光标处。
之后,我们再次在文档的最后插入一个空的段落,将光标移到这个空段落之处。并将Excel文件中的图表复制到剪贴板中,并将剪贴板中的内容粘贴到光标处。
最后关闭Excel文件。
我们先看一下代码:
Sub mynzB()
[
代码见教程
]
End Sub
代码截图:
代码解读:
1)Set myRange = ActiveDocument.Paragraphs(2).Range
MsgBox myRange.Text
以上代码设置 myRange 并提示给用户myRange 内容。
2)myRange.SetRange Start:=myRange.Start, _
End:=ActiveDocument.Paragraphs(3).Range.End
MsgBox myRange.Text
以上代码调整 myRange的范围并提示给用户myRange 内容。
3) ActiveDocument.Content.InsertParagraphAfter
myRange.SetRange Start:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Start, _
End:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.End - 1
myRange.Select
以上代码在活动文档的末尾插入一个段落,并将光标位置调整到最后。
4)Set myEXL = CreateObject("excel.application")
myfile = "EXCEL工作簿.XLSX"
myEXL.workbooks.Open ActiveDocument.Path & "\" & myfile
myEXL.Visible = True
设置要打开的文件,并打开这个文件。
5)myEXL.Sheets("Sheet1").Range("B2").Copy
Selection.Collapse Direction:=wdCollapseStart
Selection.Range.PasteSpecial DataType:=wdPasteOLEObject
'将单元格B2以单元格的形式粘贴wdPasteOLEObject是单元格的格式,如果是文本的格式可以用wdPasteText。
6) ActiveDocument.Content.InsertParagraphAfter
myRange.SetRange Start:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.Start, _
End:=ActiveDocument.Paragraphs(ActiveDocument.Paragraphs.Count).Range.End
myRange.Select
以上代码再次在活动文档的末尾插入一个段落,并重置光标位置
7) myEXL.Sheets("Sheet1").ChartObjects(1).Copy
Selection.PasteAndFormat Type:=wdChartPicture
以上代码复制图表并粘贴,粘贴的是图片的格式
8)myEXL.workbooks.Close
Set myEXL = Nothing
以上关闭Excel文件。
最后我们看代码的运行:
Excel工作表的界面如下:
代码运行的提示框:
我们在当前文档中可以看一下图表的格式,会发现这个图表是图片格式的。
今日内容回向:
1 Word中Range对象的SetRange 方法、PasteAndFormat方法、PasteSpecial 方法的意义是什么?
2 如何利用VBA插入单元格及图表?
本讲内容参考程序文件:Doc 006文档.docm
我20多年的VBA实践经验,全部浓缩在下面的各个教程中:
【
分享成果,随喜正能量】得与失,是一种选择,也是一种放弃,没有一种选择十全十美,没有一次决定万无一失。让自己豁达起来对于已经失去的东西,你或许也应该庆幸,它们不会再打扰你的内心。
单元格
剪贴板
电子表格
文章转载自
VBA语言専攻
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨