word vba 宏

taohua300 2013-06-06 10:36:22
如何取得上标和上标之间的内容
如何获得加粗字体和加粗字体之间的内容

并且有时候
如果上标或者黑体什么的在段尾
下面紧接着是表格
这时候通过vba获取的上标可能是不完整的
在段尾再打一下回车然后再删除这个回车就正常了
...全文
198 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-06-13
  • 打赏
  • 举报
回复
在Word2003中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
赵4老师 2013-06-13
  • 打赏
  • 举报
回复
引用 6 楼 taohua300 的回复:
[quote=引用 5 楼 zhao4zhong1 的回复:] 在Word2003中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
手动怎么判断两个上标之间是《不是上标的空格》[/quote] 用Range或Selection对象的Move方法移到下一个字符,获取当前字符的Font属性中的Superscript属性?
taohua300 2013-06-13
  • 打赏
  • 举报
回复
引用 7 楼 zhao4zhong1 的回复:
在Word2003中开始记录宏,手动选中你要获取的内容,Ctrl+C,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码中将哪些内容放在剪贴板中了。
按你说的知道怎么做 但不知道这么为什么这么做 查看选中,复制的代码然后怎么做?
赵4老师 2013-06-13
  • 打赏
  • 举报
回复
在Word2003中开始记录宏,手动选中你要获取的内容,Ctrl+C,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码中将哪些内容放在剪贴板中了。
taohua300 2013-06-13
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
在Word2003中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
手动怎么判断两个上标之间是《不是上标的空格》
taohua300 2013-06-11
  • 打赏
  • 举报
回复
我试了一下可以下载啊
dsd999 2013-06-08
  • 打赏
  • 举报
回复
测试文件无法下载了。
taohua300 2013-06-07
  • 打赏
  • 举报
回复
taohua300 2013-06-07
  • 打赏
  • 举报
回复
Sub chk_shangbiao()


Dim flag As Boolean
Dim filename As String
filename = ActiveDocument.Name
Dim newdoc As Document
Set newdoc = Documents.Add
flag = True
Documents(filename).Activate
Selection.HomeKey Unit:=wdStory
Do
    Dim mystr As Range
    Selection.Find.ClearFormatting
        
       With Selection.Find
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
     '   .Wrap = wdFindContinue
        .Font.Superscript = True
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
       End With
       
        Selection.Find.Execute
        Set mystr = Selection.Range
        If Selection.Find.Found = True Then
           ' MsgBox mystr.Text
           If Left(mystr.Text, 1) = " " Or Right(mystr.Text, 1) = " " Then
                MsgBox mystr.Text
                newdoc.Content = newdoc.Content & mystr.Text & Chr(13) & Chr(10)
           End If
        Else
            flag = False
        End If
Loop While flag
newdoc.Activate
newdoc.SaveAs ("d:\check_shangbiao.doc")
End Sub
这段代码主要是为了检查上标前后是否有被标记了上标的空格 和两个上标之间是否有正常空格

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧