ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]word中如何将文字转换成图形?(已解决,又有新问题)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-5-20 21:03 | 显示全部楼层 |阅读模式

想实现的功能是1.将选择的文字转换成图片,2.剪掉空白处3.选中
目前第2点无法实现 , 老大或高手经过帮下忙, 万分感谢!

Sub 文字转图形()
On Error Resume Next
Dim pLeft As Long
    Dim pTop As Long
    Dim pWidth As Long
    Dim pHeight As Long
    Dim cd1, cd2
    ActiveDocument.ActiveWindow.GetPoint pLeft, pTop, pWidth, pHeight, Selection.Range
    '以厘米为单位返回所选内容的宽度
    cd1 = Word.PixelsToPoints(Word.PixelsToPoints(pWidth))
    cd2 = 380 - Val(cd1)
    '转图形
    With Selection
        .CopyAsPicture
        '.Collapse Direction:=wdCollapseEnd
        .PasteSpecial DataType:=wdPasteMetafilePicture
    End With
    ActiveDocument.Range(0, 0).Select
    Selection.Copy
    CommandBars("Clipboard").Controls(4).Execute
    '选中
    ActiveDocument.Shapes(ActiveDocument.Shapes.Count).Select
    '剪切
    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 = cd2
    Selection.ShapeRange.PictureFormat.CropTop = 0#
    Selection.ShapeRange.PictureFormat.CropBottom = 0#
    '选中
    ActiveDocument.Shapes(ActiveDocument.Shapes.Count).Select
End Sub

[此贴子已经被作者于2007-5-21 11:27:23编辑过]

TA的精华主题

TA的得分主题

发表于 2007-5-21 05:41 | 显示全部楼层

GetPoint对于多行选定并且行宽不一致时,会有问题。

先试一下再说:

 On Error Resume Next
    Dim pLeft As Long
    Dim pTop As Long
    Dim pWidth As Long
    Dim pHeight As Long
    Dim cd1 As Single, myPicture As Shape
    ActiveDocument.ActiveWindow.GetPoint pLeft, pTop, pWidth, pHeight, Selection.Range
    cd1 = Word.PixelsToPoints(pWidth)
    With Selection
        .CopyAsPicture
        .PasteSpecial DataType:=wdPasteMetafilePicture
    End With
    ActiveDocument.Range(0, 0).Copy
    ActiveDocument.Range(0, 0).Paste
    Set myPicture = ActiveDocument.Shapes(ActiveDocument.Shapes.Count)
    With myPicture.PictureFormat
        .Brightness = 0.5
        .Contrast = 0.5
        .CropRight = (myPicture.Width - cd1)
        .Parent.Select
    End With

TA的精华主题

TA的得分主题

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

我测试了,非常好用。谢谢老大,小弟佩服的五体投地,我试了好久也没成

这里还想得寸进尺的问一下:

1.如果回车符选中了,能否把转图前把他去掉。这样图片与原字符严格等长,否则还多一个字符长的空白处

2.制成的图片是矢量图还是位图?为什么不能旋转,选转了篇模糊

3.制一图后,再执行该宏,即使没选中文字,也会把以前的图片粘上来。

[此贴子已经被作者于2007-5-21 11:30:45编辑过]

TA的精华主题

TA的得分主题

发表于 2007-5-21 10:33 | 显示全部楼层
QUOTE:
以下是引用gao2ming1在2007-5-21 9:33:06的发言:我测试了,非常好用。这里还想得寸进尺的问一下:.制成的图片是矢量图还是位图?为什么我拉大时它不变模糊,但旋转时就模糊了

我的体会:
不是位图,文字不能旋转所以模糊,旋转后,右击,编辑图片,会看出文字仍然是清晰和水平的。

TA的精华主题

TA的得分主题

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

TA的精华主题

TA的得分主题

发表于 2007-5-24 16:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-6-5 00:53 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

送大家一个doc文档批量转jpg的小工具.

94HUY5Qc.rar (60.43 KB, 下载次数: 36)

doc to jpg 汉化破解版.part3.rar

下载到同一个文件夹下然后依次重命名,即可以解压缩..很方便的一个工具.

OzYktbjV.rar

200 KB, 下载次数: 47

[求助]word中如何将文字转换成图形?(已解决,又有新问题)

WqSyJut7.rar

200 KB, 下载次数: 41

[求助]word中如何将文字转换成图形?(已解决,又有新问题)

TA的精华主题

TA的得分主题

发表于 2007-6-5 10:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
下了小工具,留着用.谢谢.

TA的精华主题

TA的得分主题

发表于 2007-6-10 15:48 | 显示全部楼层

当word文档字号大于72时,会出现故障.

TA的精华主题

TA的得分主题

发表于 2007-6-11 21:58 | 显示全部楼层

我的方法更

简单:选定,复制,选择性粘贴,图片,再编辑图片,太简单
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-16 11:06 , Processed in 0.039719 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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