ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 请问:图文混排的嵌入型图片,能靠右吗?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-2-3 21:27 | 显示全部楼层 |阅读模式
附件中,这样排版不整齐,请问能就这种混排的图片靠右、靠上吗?谢谢!
捕获.JPG

请问:嵌入型图片能批量靠右吗?.zip

83.36 KB, 下载次数: 19

TA的精华主题

TA的得分主题

发表于 2022-2-6 08:09 | 显示全部楼层
可以的。先选中图片,然后将光标右移一个单位,此时光标处于图片与回车符之间,再选择格式中的右对齐就可以了。VBA可以实现。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-2-6 10:02 | 显示全部楼层
thunor 发表于 2022-2-6 08:09
可以的。先选中图片,然后将光标右移一个单位,此时光标处于图片与回车符之间,再选择格式中的右对齐就可以 ...

谢谢您!您或者哪位大佬能赐段代码吗?衷心感谢!

TA的精华主题

TA的得分主题

发表于 2022-2-6 12:18 | 显示全部楼层
可以。所有的图全是inlineshapes吗?有没有表?有没有非inlineshapes的图形?也需要将它们一并转变为居中吗?

TA的精华主题

TA的得分主题

发表于 2022-2-6 12:51 | 显示全部楼层
另外,你的内容格式中有软回车、硬回车,图形有独立一行也有紧接文本,你是希望达到什么效果?是只图形靠右吗?图形前的文字靠不靠右?

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-2-6 20:11 | 显示全部楼层
thunor 发表于 2022-2-6 12:51
另外,你的内容格式中有软回车、硬回车,图形有独立一行也有紧接文本,你是希望达到什么效果?是只图形靠右 ...

谢谢您!只怪我表述不全,麻烦您了。
所有的图全是inlineshapes,没有表,没有非inlineshapes的图形,只将图片居中。

TA的精华主题

TA的得分主题

发表于 2022-2-7 00:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
所有图片居中?
直接查找^g 替换里面ctrl+e 点击全部替换

TA的精华主题

TA的得分主题

发表于 2022-2-7 08:04 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
将所有软回车替换为硬回车。
With ActiveDocument.Content.Find
                    .ClearFormatting '清除格式设置
                    With .Replacement '替换条件
                        .ClearFormatting '清除格式设置
                    End With
                    .Execute FindText:="^l", ReplaceWith:="^p", Format:=True, Replace:=wdReplaceAll
End With
将所有的图形选中并回车换行(不然会影响到文字居中,但该过程可能产生连续的回车符)。
For Each InlineS In ActiveDocument.InlineShapes
    InlineS.Select
    Selection.MoveLeft Unit:=wdWord, Count:=1
    Selection.TypeParagraph
Next
将连续的回车换行替换。
With ActiveDocument.Content.Find
                    .ClearFormatting '清除格式设置
                    With .Replacement '替换条件
                        .ClearFormatting '清除格式设置
                    End With
                    .Execute FindText:="^p^p", ReplaceWith:="^p", Format:=True, Replace:=wdReplaceAll
End With
设置所有图形居中。
For Each InlineS In ActiveDocument.InlineShapes
    InlineS.Select
    ActiveWindow.Selection.ParagraphFormat.Alignment =WdParagraphAlignment.wdAlignParagraphCenter
Next

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-2-7 09:29 | 显示全部楼层
您好!分步处理的话,第二个出错;整体处理时,出现图片上的问题。
图片处理.JPG

TA的精华主题

TA的得分主题

发表于 2022-2-7 10:56 | 显示全部楼层
没问题,可以运行。代码如下:
Sub ImageAlignCenter()
With ActiveDocument.Content.Find
                    .ClearFormatting '清除格式设置
                    With .Replacement '替换条件
                        .ClearFormatting '清除格式设置
                    End With
                    .Execute FindText:="^l", ReplaceWith:="^p", Format:=True, Replace:=wdReplaceAll
End With
For Each InlineS In ActiveDocument.InlineShapes
    InlineS.Select
    Selection.MoveLeft Unit:=wdWord, Count:=1
    Selection.TypeParagraph
Next
With ActiveDocument.Content.Find
                    .ClearFormatting '清除格式设置
                    With .Replacement '替换条件
                        .ClearFormatting '清除格式设置
                    End With
                    .Execute FindText:="^p^p", ReplaceWith:="^p", Format:=True, Replace:=wdReplaceAll
End With
For Each InlineS In ActiveDocument.InlineShapes
    InlineS.Select
    ActiveWindow.Selection.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter
Next
End Sub
你在使用过程中根本就没有删除对中文说明部份增加注解符号,所以出错。
AlignCenter.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-29 18:30 , Processed in 0.027175 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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