ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助][讨论]1至100000怎么样快速设置为带圈字符,以此类推,请教了。

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-8-19 11:48 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1至100000怎么样快速设置为带圈字符,以此类推,请教了。

TA的精华主题

TA的得分主题

发表于 2005-8-19 19:40 | 显示全部楼层
给我的感觉,如果1带圈的话,可能只是一只玻璃球,可是如果要是100000就可以是一个地球了。虽然有点夸张,但是我没有搞懂你为什么数字要用10000这多么大?

TA的精华主题

TA的得分主题

发表于 2005-9-5 16:53 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
以下是引用我爱婷婷在2005-8-19 11:48:45的发言: 1至100000怎么样快速设置为带圈字符,以此类推,请教了。

最近由于我在写书,一直没有时间考虑。

今天,我抽空考虑了一下,快速设置,大量字符,1~100000,手动设置是没有意义的。

做了一个自动执行的程序,注意:

一,文档中的数字(需带圈的字符)一个文档中,不得超过32000个。

二,目前只能设置1~99999,再大没有意义了,一样做

三,请在低宏下打开文档,如果宏安全性为高或中,请设置为低后重启WORD,再打开。

四,请运行常用工具栏中的第一个命令“带圈字符”,将会新建一个文档,将原文档文本和数据以文本和带圈字符的形式出现。

6NGOmMEq.zip (16.25 KB, 下载次数: 136)

以下代码供参考:

'* +++++++++++++++++++++++++++++ '* 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 '----------------------

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2005-9-6 10:54 | 显示全部楼层

守柔老大,你真是太强了。小弟对你的敬仰犹如……

不过,这个做出来的好象不能作为上标耶。是不是编这种圈的要专门的排版系统呢?

TA的精华主题

TA的得分主题

发表于 2005-9-6 11:06 | 显示全部楼层
以下是引用buswalke在2005-9-6 10:54:13的发言:

守柔老大,你真是太强了。小弟对你的敬仰犹如……

不过,这个做出来的好象不能作为上标耶。是不是编这种圈的要专门的排版系统呢?

在WORD自带的编号系统中,带圈的上标尚不能超过20,为什么?太大了,还是上标吗?太小了,又看不清。

所以,不能千篇一律予以强求。

我的这个程序中,使用的是域,如果有兴趣,可以制成图片,以便调用是可行的,但成上标,肯定行不通了,毕竟数字大了,不行。

[此贴子已经被作者于2005-9-6 11:15:13编辑过]

TA的精华主题

TA的得分主题

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

版主你真的是太强了,我也很钦佩。。。。。

TA的精华主题

TA的得分主题

发表于 2009-9-3 01:54 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-6-27 08:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请问下面的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

TA的精华主题

TA的得分主题

发表于 2019-6-27 09:34 | 显示全部楼层
厉害了,咱们这里可以讨论持续10多年的问题!
很好很强大!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 20:33 , Processed in 0.046346 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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