Delphi 运行Word VBA 宏 删除软回车

Sub 整理网页()
‘整理网页:删除软回车、删除空白段、使段落文字两端对齐
Selection.WholeStory
   
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "?^l"
        .Replacement.Text = "^&^p"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^1^l"
        .Replacement.Text = "^&^p"
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^l"
        .Replacement.Text = ""
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^s"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
   
    With Selection.Find
        .Text = "^p^p"
        .Replacement.Text = "^p"
        .MatchWildcards = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Paragraphs.Alignment = wdAlignParagraphJustify
End Sub

Delphi可以通过ole word的方式来运行宏:

WordDoc := WordApp.Documents.open(fileName:=fn, Revert:=true, Visible := True);
wordapp.Run( MacroName:=‘整理网页‘);

非常蹊跷的是,如果Visible := False,则word宏不能运行!

时间: 2024-10-15 19:12:03

Delphi 运行Word VBA 宏 删除软回车的相关文章

Word中批量替换软回车

在平时工作中,有时候需要拷贝一些截取自网页上的文字,当选中后拷贝到Word中时,有时候在每行的结尾出现如下的符号,,这给后期文字的整理带来了很多不便,在此记录从网上获取的解决方法,以免遗忘和便于查找. 这个是word中的软回车键,在Word中,可以按Shift+Enter键来输入此字符,直接按Enter键就是正常的回车键.如果要把摘抄自网页中的文档中的软回车键去掉,可以使用Word中的替换功能. 点击全部替换就可以达到需要的效果了.

软回车(shift+enter)与硬回车(enter)区别

在字处理软件中 硬回车由Enter键按下去导致一行文字换行 硬回车的官名是**段落标记**,代码^p 硬回车应用:换行或设置段落 删除硬回车 快捷键ctrl+H,在查找内容中输入^p^p,或者选择"特殊字符"按钮,选择"段落标记",然后在替换中输入^p,选择全部替换即可全部删除软回车. 备注:所有必须是英文输入状态下 软回车程序自动换行或手动换行(shift+enter)的叫做软回车 软回车的官方名称**手动换行符**,代码是^l(这个是英文字母L,不是数字1,并且

批量删除EXCEL里的软回车

批量删除EXCEL里的软回车 目的:查找excel单元格中的换行符(alt + enter),并且把它代替为空. 通过在查找框内(通过按ctrl + f调出),在[替换内容]内输入:第1种方法:按住alt键不放,然后依次通过数字键盘输入1和0两个数字,放开数字键后再放开alt键.第2种方法:Ctrl+j,替换第3钟方法:Ctrl+Enter(回车键)三种方法当中尝试,应该是可以的.注意:1.输入以上按键时查找框内看不到变化,但没关系,不要多输,也不要输少了:2.如果是用笔记本电脑,也不要用数字键

用Delphi进行word开发

使用以CreateOleObjects方式调用Word 实际上还是Ole,但是这种方式能够真正做到完全控制Word文件,能够使用Word的所有属性,包括自己编写的VBA宏代码.----------------------------------------- Word宏编辑器Word能够真正地进行VBA代码的编辑,可以编写窗体.函数.进入Word宏编辑器的方法:工具->宏->Visual Basic编辑器,可进入Visual Basic编辑器界面.Word的Visual Basic编辑器界面和

Delphi读取Word

Delphi读取Word现在关于往Word中写入数据的方法比较多,现在专门开个贴子,希望大家把自己读取Word内容的心得体会说一下,包括读取word文档中,有几个段落,如何读取第几个段落,读取有拼音的汉字,读取图片,读取表格等,希望大家不吝赐教! [解决办法]//启动Wordtrywordapplication1.connect;exceptmessagedlg('word may not be installed', mterror, [mbok], 0);abort;end;//打开文档pr

Word 录制宏解决粘贴网络上文字格式错乱

    本文将利用Word中的录制宏来解决 复制粘贴网络上文字格式错乱的问题.     本文宏代码取自 : 知乎 李文超,感谢他的提供. Technorati 标签: Word宏 格式修正     1. 创建Word宏         新建一个word文件,点击 视图 ---> 宏 ---> 录制宏,出现如下的设置框.                 设置完后,点击宏-->结束录制,然后点击查宏,选中编辑框,弹出宏代码编辑页面,将 文章结尾处的宏代码复制到里面去,最终显示结果如下:   

处理Selection对象和Range对象——Word VBA中重要的两个对象

处理Selection对象和Range对象——Word VBA中重要的两个对象 Word 开发人员参考Selection 对象代表窗口或窗格中的当前所选内容.所选内容代表文档中选定(或突出显示)的区域,如果文档中没有选定任何内容,则代表插入点.每个文档窗格只能有一个 Selection 对象,并且在整个应用程序中只能有一个活动的 Selection 对象.说明 可以使用 Selection 属性返回 Selection 对象.如果 Selection 属性未使用对象限定符,则 Microsoft

Excel中用VBA实现删除空行和空列

Excel中用VBA实现删除空行和空列 在exce中删除空行和空列的方法有很多,相对而言删除空行较为简单,只需进行筛选,将空白行筛选出来,删除即可,但要删除空列比较困难.因为你不能按列进行筛选删除.Excel中没有这 个功能.当然你可以用另外一种方法,就是按列进行排序将空白列排序在一起,然后删除,但这种方法面临着列的顺序被打乱的问题,吃力不讨好.本文将利用Excel中强大VBA功能来完成删 除空白行和列的方法. 步骤一.打开excel,按ALT+F11组合建,调出VBA程序窗口 步骤二.在插入菜

WORD自定义宏

自定义快捷键 折叠所有标题 Word选项—自定义功能区—自定义键盘—不在功能区内的命令—ColllapseAllHeadings 展开所有标题 Word选项—自定义功能区—自定义键盘—不在功能区内的命令—ExpandAllHeadings 全屏快捷键 Alt+V+U, esc退出 可通过录制宏设定F11全屏 Word自定义宏 Sub 标题1() Selection.Style = ActiveDocument.Styles("标题 1") End Sub Sub 标题2() Selec