vba获取word某一段文字格式,vba中word遍历每个文字

http://www.itjxue.com  2023-01-21 08:33  来源:未知  点击次数: 

vb如何检测word的段落格式

VB??

我记得是在VB中引用WORD,然后用VBA来检查段落的样式。不知道你是不是说的这个意思。代码吗,很简单:

set wrdobj=createobject("word.application")

set docobj=wrdobj.documents.open(此处是word文件的路径)

然后就检测

docobj.Paragraphs(第几段).range.style

就可以了,因为我最近也在做个VBA的小项目,所以上面的代码是可以通过的。

word用vba选中某一段中某几个字符怎么写

提供一个方案给楼主参考,可以批量修改多个文档中某个指定文字的属性:

1、启动Word后,键入Alt+F11打开VBA编辑窗口;

2、选择菜单“插入-模块”,然后在代码编辑区中粘贴如下代码:

Option Explicit

Const g_strRootPath = "c:\Docs\" ' 指定存放所有文件的目录,可以有子目录

Const g_strTextToFind = "茶" ' 需要批量查找修改格式的文字内容

Dim g_oTargetFont As New Font

' 主函数

Sub Main()

Dim fso, oFolder

' 设置需要修改的字体属性

g_oTargetFont.Size = 18 ' 字号

g_oTargetFont.Color = wdColorRed ' 颜色

g_oTargetFont.Bold = True ' 是否加粗(True加粗,False正常)

g_oTargetFont.Italic = True ' 是否斜体(True斜体,False正常)

g_oTargetFont.Underline = wdUnderlineDash ' 下划线风格

'... 设置其他字体属性

Set fso = CreateObject("Scripting.FileSystemObject")

Set oFolder = fso.GetFolder(g_strRootPath)

ChangeFontStyleForFilesUnderFolder fso, oFolder

MsgBox "完成!"

End Sub

' 修改指定文件夹(递归)下面的所有Word文件中指定文字的格式

Sub ChangeFontStyleForFilesUnderFolder(fso, oFolder)

Dim oSubFolder, oFile

For Each oSubFolder In oFolder.SubFolders

ChangeFontStyleForFilesUnderFolder fso, oSubFolder

Next

For Each oFile In oFolder.Files

Documents.Open oFile.Path

ChangeFontStyleForActiveDocument

ActiveDocument.Close True

Next

End Sub

' 修改当前打开文档里面所有指定文字的格式

Sub ChangeFontStyleForActiveDocument()

Selection.StartOf wdStory

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

With Selection.Find

.Text = g_strTextToFind

.Replacement.Text = "^"

.Replacement.Font = g_oTargetFont

.Forward = True

.Wrap = wdFindContinue

.Format = True

.MatchCase = False

.MatchWholeWord = False

.MatchByte = False

.MatchAllWordForms = False

.MatchSoundsLike = False

.MatchWildcards = True

End With

Selection.Find.Execute Replace:=wdReplaceAll

End Sub

3、修改代码开始处的两个参数:存放所有需要批量修改文档的根目录(下面可以包含子目录,比如“C:\Docs”),需要修改的文字(比如“茶”字,也可以是一个词或者句子);

4、修改“主函数”里面想要设置的字体属性,如字号、颜色、加粗、斜体、下划线,等等;

4、键入F5运行,直到看到“完成!”。

5、检查各个文档里面指定的文字是否已经被设置成了指定的格式。

vba设置word文档的格式

①将格式应用于选定内容

下列示例使用Selection属性将字符和段落格式应用于选定文本。使用Font属性获得字体格式的属性和方法,使用ParagraphFormat属性获得段落格式的属性和方法。

Sub

FormatSelection()

With

Selection.Font

.Name

=

"Times

New

Roman"

.Size

=

14

.AllCaps

=

True

End

With

With

Selection.ParagraphFormat

.LeftIndent

=

InchesToPoints(0.5)

.Space1

End

With

End

Sub

②将格式应用于某一区域

下列示例定义了一个Range对象,它引用了活动文档的前三个段落。通过应用Font

和ParagraphFormat对象的属性来设置

Range对象的格式。

Sub

FormatRange()

Dim

rngFormat

As

Range

Set

rngFormat

=

ActiveDocument.Range(

_

Start:=ActiveDocument.Paragraphs(1).Range.Start,

_

End:=ActiveDocument.Paragraphs(3).Range.End)

With

rngFormat

.Font.Name

=

"Arial"

.ParagraphFormat.Alignment

=

wdAlignParagraphJustify

End

With

End

Sub

③插入文字并应用字符和段落格式

下列示例在当前文档的上部添加单词

Title。第一段居中对齐,并在该段落之后添加半英寸的间距。将单词

Title

的格式设为

24

Arial

字体。

Sub

InsertFormatText()

Dim

rngFormat

As

Range

Set

rngFormat

=

ActiveDocument.Range(Start:=0,

End:=0)

With

rngFormat

.InsertAfter

Text:="Title"

.InsertParagraphAfter

With

.Font

.Name

=

"Tahoma"

.Size

=

24

.Bold

=

True

End

With

End

With

With

ActiveDocument.Paragraphs(1)

.Alignment

=

wdAlignParagraphCenter

.SpaceAfter

=

InchesToPoints(0.5)

End

With

End

Sub

④在

12

磅和无之间切换段前间距

下列示例切换选定内容中第一段的段前间距。宏将获取当前段前间距的值,如果该值为

12

磅,则删除段前间距格式(将SpaceBefore属性设为零)。如果段前间距的值为除

12

外的其它数值,则将

SpaceBefore属性设为

12

磅。

Sub

ToggleParagraphSpace()

With

Selection.Paragraphs(1)

If

.SpaceBefore

Then

.SpaceBefore

=

Else

.SpaceBefore

=

6

End

If

End

With

End

Sub

⑤切换加粗格式

下列示例切换选定文本的加粗格式。

Sub

ToggleBold()

Selection.Font.Bold

=

wdToggle

End

Sub

⑥将左边距增加

0.5

英寸

下列示例将左边距和右边距增加

0.5

英寸。PageSetup对象包含文档的所有的页面设置属性(左边距、下边距、纸张大小等)。LeftMargin属性用于返回和设置左边距设置。RightMargin属性用于返回和设置右边距设置。

Sub

FormatMargins()

With

ActiveDocument.PageSetup

.LeftMargin

=

.LeftMargin

+

InchesToPoints(0.5)

.RightMargin

=

.RightMargin

+

InchesToPoints(0.5)

End

With

End

Sub

(责任编辑:IT教学网)

更多

推荐网络赚钱文章