ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] excelvba打开个word,整除10的数字绿色,加上黄色圆圈?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-6-27 09:02 | 显示全部楼层 |阅读模式
快速设置,大量字符,1~100000,手动设置是没有意义的。做了一个自动执行的程序是wordvba吧,
'* +++++++++++++++++++++++++++++ '* Created By I Love You_Word!@ExcelHome 2005-9-5 16:55:18 '仅测试于System: Windows NT Word: 10.0 Language: 2052 '№ 0006^The Code CopyIn [ThisDocument-ThisDocument]^' '* -----------------------------
Option Explicit Sub Example() Dim myRange As Range, myString As String, i As Range, myDoc As Document Dim myFind() As Variant, oFind As Variant, mySize() As Variant, N As Byte Dim Temp As String, Pos As Integer On Error Resume Next '忽略错误 Application.ScreenUpdating = False '关闭屏幕更新 myString = "○," '带圈字符" Temp = ")" '左括号 '定义一个需要查找的数组,各元素分别代表5位数,四位数,三位数,二位数,一位数,一位数,和左括号 myFind = Array("^#^#^#^#^#", "^#^#^#^#", "^#^#^#", "^#^#", "^#", "^#", ")") '定义一个需要替换的字号数组 mySize = Array(34.5, 29.5, 18.5, 15.5, 14.5, 9.5, 10.5) '定义一个新文档 Set myDoc = Documents.Add With myDoc For Each i In Me.Words '在本文档的词中循环 If VBA.IsNumeric(i) Then '如果是数值型文本 If i < 100000 Then '如果数值<10万 '定义一个Range对象,始终为新文档(活动文档)的最后位置(结束标记前一个字符位置) Set myRange = .Range(.Content.End - 1, .Content.End - 1) '此文档最后增加一个EQ域,其域代码为带圈字符的域代码,其中的数字取出I值 .Fields.Add Range:=myRange, Type:=wdFieldEmpty, Text:= _ "EQ \O(" & myString & Trim(i) & ")", PreserveFormatting:=False End If Else .Content.InsertAfter i '如果不是数值型,直接写入活动文档 End If Next .ActiveWindow.View.ShowFieldCodes = True '活动文档显示域代码,以便查找与替换 For N = 0 To 6 '进行一个循环 Select Case N Case 0 Pos = -5 '字体降低的磅值 Case 1 Pos = -4 Case 2 Pos = -1 Case Else Pos = 0 End Select If N > 4 Then myString = "": Temp = "" '指定查找与替换 With .Content.Find .ClearFormatting .Text = myString & myFind(N) & Temp .Format = True .Replacement.Font.Size = mySize(N) .Replacement.Font.Position = Pos .Execute Replace:=wdReplaceAll End With Next .ActiveWindow.View.ShowFieldCodes = False '显示域结果 End With Application.ScreenUpdating = True '恢复屏幕更新 End Sub '----------------------


请问下面的excelvba给word字符加圆圈,和域加圆圈的不同?如何使圆圈里面的数字不同的颜色,数字绿色,圈圈红色黄色?怎末写出来vba,先用excelvba看看,谢谢
With .Selection
       .Font.Color = wdColorRed
      .Font.Size = 12
      .Font.Bold = False
      .TypeText Text:=Format(“2”, "00")

      aa = .End
      mydoc.Range(Start:=aa - 2, End:=aa).ModifyEnclosure Style:=wdEncloseStyleLarge, symbol:=wdEnclosureCircle
      .EndKey wdStory


    End With

希望excelvba打开个word,任意输入1-10000,整除10的数字绿色,加上黄色圆圈,怎么办谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-27 09:31 | 显示全部楼层
不知什么语句指定圆圈颜色?谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-6-27 10:48 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
如果绿数字只能绿色圆圈,那下面加个黄色下划线怎么办?谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-19 10:13 , Processed in 0.027612 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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