ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3994|回复: 3

[求助] 选择性粘贴的问题,论坛里搜不到

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-5-19 18:24 | 显示全部楼层 |阅读模式

我把选择的文字转换成图片,用选择性粘贴成图片是可以的,但用代码,出错

Sub 文字转图形()

   Selection.Copy  
Selection.PasteAndFormat (wdChartPicture)
End Sub

试了好久啊

[此贴子已经被作者于2007-5-19 19:27:53编辑过]

TA的精华主题

TA的得分主题

发表于 2007-5-19 20:58 | 显示全部楼层

请比较两者的差异

PasteAndFormat 方法

请参阅 应用于 示例 特性

粘贴选定的表格单元格并为其设置指定的格式。

expression.PasteAndFormat(Type)

expression   必需。该表达式返回“应用于”列表中的一个对象。

Type  WdRecoveryType,必需。粘贴选定的表格单元格时使用的格式类型。

WdRecoveryType 可以是下列 WdRecoveryType 常量之一:
wdChart  将 Microsoft Excel 图表粘贴为嵌入的 OLE 对象。
wdChartLinked 粘贴 Excel 图表并将其链接到原始 Excel 电子表格。
wdChartPicture  将 Excel 图表粘贴为图片。
wdFormatOriginalFormatting  保留粘贴材料的原始格式设置。
wdFormatPlainText  粘贴为无格式的纯文本文字。
wdFormatSurroundingFormattingWithEmphasis 使粘贴文本的格式与周围文本的格式匹配。
wdListCombineWithExistingList  使粘贴的列表与周围的列表合并。
wdListContinueNumbering  使粘贴的列表根据文档中的列表继续编号。
wdListRestartNumbering  对粘贴的列表重新进行编号。
wdSingleCellTable  将单一单元格表格粘贴为独立的表格。
wdSingleCellText  将单一单元格粘贴为文本。
wdTableAppendTable  通过将粘贴的行插入到选定的行中间,使粘贴的单元格合并到原有的表格中。
wdTableInsertAsRows  将粘贴的表格作为行插入到目标表格的两行中间。
wdTableOriginalFormatting  粘贴一个增补的表格,而不合并表格样式。
wdTableOverwriteCells  粘贴表格单元格并覆盖原有的表格单元格。

示例

本示例将一个选定的 Microsoft Excel 图表粘贴为图片,本示例假定“剪贴板”包含 Excel 图表。

Sub PasteChart()
    Selection.PasteAndFormat Type:=wdChartPicture
End Sub

============

CopyAsPicture 方法

请参阅 应用于 示例 特性

对于 RangeSelection 对象,CopyAsPicture 方法与 Copy 方法工作方式相同。

expression.CopyAsPicture

expression   必需。该表达式返回一个 RangeSelection 对象。

示例

该示例将活动文档的内容复制为图片,并将其作为图片粘贴到文档的结尾。

Sub CopyPasteAsPicture()
    ActiveDocument.Content.Select
    With Selection
        .CopyAsPicture
        .Collapse Direction:=wdCollapseEnd
        .PasteSpecial DataType:=wdPasteMetafilePicture
    End With
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-5-19 21:14 | 显示全部楼层

非常感谢lwxg兄

刚从自带“帮助文件”中搜到。但又出现一个问题,这样形成的图片后面有很多空白处,我用代码把后面部分剪切掉。问题:

1.不知能不能合并成一个程序,并选中图片。

2.能否转换成的图片长度刚好等于选择文字的长度,即后面没有空白处。(我的“剪切空白处”不能随文字的长度而改变)

Sub 选中文字转图形()
On Error Resume Next
    With Selection
        .CopyAsPicture
        '.Collapse Direction:=wdCollapseEnd
        .PasteSpecial DataType:=wdPasteMetafilePicture
    End With
End Sub
Sub 剪切空白处()
On Error Resume Next
Selection.ShapeRange.PictureFormat.Brightness = 0.5
    Selection.ShapeRange.PictureFormat.Contrast = 0.5
    Selection.ShapeRange.PictureFormat.ColorType = msoPictureAutomatic
    Selection.ShapeRange.PictureFormat.CropLeft = 0#
    Selection.ShapeRange.PictureFormat.CropRight = 380
    Selection.ShapeRange.PictureFormat.CropTop = 0#
    Selection.ShapeRange.PictureFormat.CropBottom = 0#
End Sub

TA的精华主题

TA的得分主题

发表于 2007-5-19 21:43 | 显示全部楼层
老兄:我俩一样的问题,期待高手。
http://club.excelhome.net/viewthread.php?tid=241165&px=0
[此贴子已经被作者于2007-5-19 21:44:47编辑过]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 22:23 , Processed in 0.033126 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表