ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何设置每行的前两个单词格式为斜体?

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-12-8 22:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
验证过了,非常感谢。“代码通常要针对具体的文档来写的,否则很容易导致处理不当。”这句很重要。
我较常调整文档来适应代码。希望经过学习可以做到针对具体的文档来写。
再次感谢!

TA的精华主题

TA的得分主题

发表于 2011-12-11 22:24 | 显示全部楼层
其实也可以用通配符查找换行符和“(”之间的文字,替换成斜体。
期间可能需要一点手工操作,不难。

TA的精华主题

TA的得分主题

发表于 2012-3-31 09:03 | 显示全部楼层
sqhsqhli 发表于 2011-12-5 14:52
3楼代码是在段落中循环,这个是按1楼要求每行。。。
Sub s1()
With Selection

是将代码复制到宏里面就可以么?为什么我复制了还是不行呢

TA的精华主题

TA的得分主题

发表于 2019-12-26 16:55 | 显示全部楼层
sylun 发表于 2011-12-8 17:42
如果就这样的要求,可试试如下简单一点的代码:如果要复杂一点的,可试试:代码通常要针对具体的文档来写 ...

Pteridium aquilinum (L.) Kuhn. var. latiusculum (Desv.) Undrew ex Heller
Athyrium brevifrons Nakai ex Kitagawa
Cystopteris sudetica A. Braun et Milde
这样的数据后面的也会变为斜体,怎样改呢?

TA的精华主题

TA的得分主题

发表于 2019-12-26 22:04 | 显示全部楼层
413191246se 发表于 2011-12-5 00:26
录制一个宏,复制如下代码:(如果不知道何为宏,查 WORD 帮助---录制宏)

Sub 前两个单词斜体()

大神,如果不删空行,空行或一行里只有一个单词跳到下一行就好了

TA的精华主题

TA的得分主题

发表于 2019-12-26 22:05 | 显示全部楼层
413191246se 发表于 2011-12-5 00:26
录制一个宏,复制如下代码:(如果不知道何为宏,查 WORD 帮助---录制宏)

Sub 前两个单词斜体()

大神,如果不删空行,空行或一行里只有一个单词跳到下一行就好了

TA的精华主题

TA的得分主题

发表于 2019-12-27 07:51 | 显示全部楼层
guanqingcheng 发表于 2019-12-26 16:55
Pteridium aquilinum (L.) Kuhn. var. latiusculum (Desv.) Undrew ex Heller
Athyrium brevifrons Naka ...

前几楼把简单的问题复杂化了
  1. Sub 段落前两单词格式调整()
  2.     Dim p As Paragraph
  3.         For Each p In ActiveDocument.Paragraphs
  4.             If p.Range.Words.Count > 2 Then
  5.                 p.Range.Words(1).Font.Italic = True
  6.                 p.Range.Words(2).Font.Italic = True
  7.             End If
  8.         Next
  9. End Sub
复制代码


TA的精华主题

TA的得分主题

发表于 2019-12-27 23:25 | 显示全部楼层
hunthunt2002 发表于 2011-12-8 09:01
谢谢大家的指导,很有帮助。
现在新的问题是:中文名在写在前,英文名在后,要求依然是英文名的前两个单词 ...
  1. Sub 测试专用()
  2. Dim p As Paragraph
  3.     For Each p In ActiveDocument.Paragraphs
  4.         With p.Range.Find
  5.             .Replacement.Font.Italic = True
  6.             .Text = "<[A-Za-z]@>[!<]@<[A-Za-z]@>"
  7.             .MatchWildcards = True
  8.             .Execute Replace:=1
  9.         End With
  10.     Next
  11. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-10 23:36 , Processed in 0.031251 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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