ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 选项对齐(宏)最新更新 2022-10-01

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-9-21 15:27 | 显示全部楼层
413191246se兄,能否增加3个选项的情况,如果选项是3个的,如何修改代码?

Unit1 Topic 3 话题检测卷.rar

577.33 KB, 下载次数: 19

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-9-21 17:09 | 显示全部楼层
*  唐兄:细节决定成败!下午我用我买的二手笔记本电脑(Win7 + Office2003)上的 Word 2003 检查《选项对齐》宏,发现问题!原来,有两条替换语句应该写为“^p”,而我写成了“^13”。这样,假回车符就出来了,所以,选项对不齐,现已更正,敬请试用,代码在 1 楼(三个选项情况容我晚饭后观看)。此宏也多亏兄台检查提醒,否则就贻害无穷矣!多谢!多谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-9-21 22:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
唐兄:针对 11 楼附件三个选项的情况,我简要地编写了一下专门适用于该附件的小宏,请测试(处理结果中红色文字为处理对象,红色不代表出错,仅代表鲜明、易看、易查,该行代码测试后可以删除或注释掉)。文中纸张是默认 A4 (2.54cm/3.17cm),如果页边距有变化,则该宏将不适用。
  1. Sub OptionAlign_ABC()
  2.     Dim i As Paragraph
  3.     With ActiveDocument
  4.         .Content.Find.Execute "([  ^s^t^13]{1,})([BCD].)", , , 1, , , , , , "^t\2", 2
  5.         .Content.Find.Execute "(.A).", , , 1, , , , , , "\1.", 2
  6.         For Each i In .Paragraphs
  7.             With i.Range
  8.                 If Not .Information(12) Then
  9.                     If .Text Like "*A.*" Then
  10.                         .Font.ColorIndex = wdRed '红色
  11.                         With .ParagraphFormat.TabStops
  12.                             .ClearAll
  13.                             .Add Position:=CentimetersToPoints(14.67 / 2.7)
  14.                             .Add Position:=CentimetersToPoints(27.35 / 2.7)
  15.                         End With
  16.                     End If
  17.                 End If
  18.             End With
  19.         Next
  20.     End With
  21. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2022-9-22 07:10 | 显示全部楼层
413191246se 发表于 2022-9-21 22:48
唐兄:针对 11 楼附件三个选项的情况,我简要地编写了一下专门适用于该附件的小宏,请测试(处理结果中红色 ...

您好,这个没有对齐↓,是有意为之还是?谢谢!
截图.PNG

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-9-22 08:33 | 显示全部楼层
本帖最后由 413191246se 于 2022-9-22 08:34 编辑

这是个意外!须手动处理了。或,把第 4 行代码中的“D"字母删除。

TA的精华主题

TA的得分主题

发表于 2022-9-22 09:41 | 显示全部楼层
413191246se 发表于 2022-9-21 22:48
唐兄:针对 11 楼附件三个选项的情况,我简要地编写了一下专门适用于该附件的小宏,请测试(处理结果中红色 ...

谢谢413191246se兄,能否做个适用不同页边距的代码,若有选定区域,则对选定区域进行处理,无选定,则全文处理

TA的精华主题

TA的得分主题

发表于 2022-9-22 10:58 | 显示全部楼层
word vba 的难度在于 要解决问题样式多,不统一 。代码重复利用率不高,不像excel,数据规规矩矩的躺在每个格子里。

TA的精华主题

TA的得分主题

发表于 2022-9-22 21:36 | 显示全部楼层
本帖最后由 tangqingfu 于 2022-9-22 21:39 编辑

413191246se兄,一楼附件第8题选项可以分2行显示,而运行结果是4行显示,是bug,还是有一定的标准(如选项间有一定的字符间距)?
2022-09-22_21-35-19.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-9-23 00:02 | 显示全部楼层
* 唐兄:分 4 行显示,不是 bug,乃是选项间是依靠制表位来分隔的(选定一段选项,观察其“段落/制表位”,可以看到有几处字符设置。如有 4 个选项,会看到有 3 个制表位;用标尺也可以看到)。至于唐兄说的能放一行就放一行,那样的话,制表位就用不上了,须用空格填充,恐怕速度就慢了,并且也不标准(昨天下午我也想尽力按 唐兄 的想法来编制,唐兄 的意思是想尽量节省纸张是吧?)。现在虽然不算太准确,好处是处理速度较快。
   
* 唐兄 说的选定区域问题,我觉得可能是没有必要吧!因为连我自己都觉得,勾选一定字符范围,太繁琐,不如一键了事。而我晚上又重新构思了一下,不处理正文(题干)排版格式,都是首行缩进 2 字符,用循环遍历段落法(For Each ... Next)只处理选项段落。但因为时间和示例文本及水平的原因,只能说处理效果差强人意。在大范围处理后只好请大家再校对一下,有不完美的地方手动处理一下了。另外,我这种算法只能说是大概看着还算美观,但感觉并不标准、科学,大家可以暂时作为应急工具宏来应用。
   
* 真正标准、科学、正确的算法,可能得像 sylun 老师等那样的高人来编制了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-9-23 00:10 | 显示全部楼层
大罡 你好!Word VBA 和 Excel VBA 各有千秋吧!由于长期使用 Word,几乎不怎么使用 Excel(也会一点)。所以,感觉 Word VBA 给文档设置各种格式还是丰富多彩的;Excel 长于计算,格式设置不如 Word。
个人还是特别喜欢 Word VBA,自诩“VBA 业余程序员”,水平不高,但乐此不疲,尽情体验编程乐趣(过去也曾用过 小霸王电脑学习机 来学习一点 BASIC,对编程很向往,很崇拜那些高水平程序员)。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-25 10:22 , Processed in 0.035963 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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