用户登录
用户注册

分享至

vbaword页码设置 VBA怎么读取word的页码

  • 作者: 你带孩子先走-
  • 来源: 51数据库
  • 2020-04-21

亲,代码如下:

PrivateSubTJYS_Click()

Dimd,pAsInteger

Dimf,ffAsObject

Setfso=CreateObject("Scripting.FileSystemObject")

Setff=fso.getfolder(ThisDocument.Path)

d=0:p=0

ForEachfInff.Files

Iff.Name<>ThisDocument.NameAndLeft(f.Name,2)<>"~$"Andf.NameLike"*.doc*"Then

d=d+1

Documents.OpenFileName:=ThisDocument.Path&"\"&f.Name

p=p+ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)

ActiveDocument.CloseFalse

EndIf

Nextf

MsgBox"总共统计了"&d&"个文件,总页数为"&p&"页。",vbOKOnly,"结果"

EndSub

用VBA在Word中指定页码做一个饼图

目前我想到的方案是利用Word里面的“索引”功能。

1、选中需要提取的文字,执行菜单命令“插入-引用-索引和目录”;

2、在“索引”选项页里面选择单击按钮“标记索引项”;

3、指定“选项”为“当前页”,根据需要可以指定提取之后显示的页码格式为加粗或者倾斜,单击“标记”;

4、此时标记索引项窗口并不会关闭,而且你还能在文档中找到并选中下一个需要提取的文字,重复步骤3;

5、如果没有其它需要提取的文字了,单击“关闭”;

6、在需要插入索引表的地方,执行菜单命令“插入-引用-索引和目录”,根据需要设置索引表的格式(比如分栏、对齐、缩进等风格),然后单击“确定”。

这样所有标记过索引的文字以及它们所在的页码就都提取出来了。

如果需要提取的文字有很多,那么或许也可以用VBA宏来自动标记索引(即相当于自动完成上面的1-5步骤)。但是前提是这些文字必须都有非常特定的格式,即可以保证当前文档中凡是具有这个格式的文本,都是需要提取索引的文本。

如果楼主感兴趣的话,可以补充提问或者和我联系,并请告知Word版本号。

_______________________

补充:

下列VBA代码可以自动为当前文档中的所有红色文字建立索引条目,并在当前光标位置处插入带文字条目以及对应页码的索引表:

Option Explicit

Sub AutoMarkIndexForAllRedText()

Dim oSaveSelection As Range

Set oSaveSelection = Selection.Range

Selection.StartOf wdStory

Selection.Find.ClearFormatting

Selection.Find.Font.Color = wdColorRed ' 在这里可以设置更多的匹配格式,如字体、字号等

While Selection.Find.Execute(FindText:="", Forward:=True, Format:=True)

ActiveDocument.Indexes.MarkEntry(Selection.Range, Selection.Range.Text).Select

Selection.Collapse wdCollapseEnd

Wend

oSaveSelection.Select

ActiveDocument.Indexes.Add Selection.Range

MsgBox "完成!"

End Sub

如果楼主对于这个代码生成的索引表样式不太满意,也没关系。因为现在所有索引条目已经建好,所以只需把自动生成的索引表删除后用Word自己的“插入-引用-索引和目录”命令来重新生成符合自己要求样式的索引表即可。

word vba 如何在指定页码处画图?

怎么用上编程了,你直接用页眉和页脚就可以的呀。去试试.注意一定要在页眉和页脚的编辑状态才行。

分了好多节的word通过VBA调出某一节的页码范围

sub test ()

istart = InputBox("输入你要打印的起始节")

iEnd = InputBox("输入你要打印的结束节") '为了方便搞了两个inputbox,你可以用一个,方法如下:

'规定一个格式,然后用instr,left,right等得到起始和结束的节数

Dim doc As Document

Dim rngDoc As Range

Set doc = ActiveDocument

Set rngDoc = doc.Range(Start:=doc.Paragraphs(istart).Range.Start, _

End:=doc.Paragraphs(iEnd).Range.End)

rngDoc.Select

doc.PrintOut Range:=wdPrintSelection

Set rngDoc = Nothing

Set doc = Nothing

end sub

VBA不打开word能不能抓取它的页码,然後把文档名和页码保存

Ctrl+A全选然后再按Enter,然后去喝一杯咖啡,再回来一个一个看

F-U-C-K,我怕回来电脑开卡死在那~~~公司的电脑配置低~~~~~~~

文件属性没有页码这个,要想知道多少页还是要先打开的,用vba打开读出来再关闭就可以了,遍历整个文件夹来读取

在word中用VBA挑选图片所在的页码

Sub test()

For Each i In ActiveDocument.InlineShapes

i.Select

MsgBox Selection.Information(wdActiveEndPageNumber)

Next

End Sub

WORD VBA:根据以下代码,改成成只删除当前文档的页眉页脚

修改如下:

Sub删除页眉页脚()

DimmyRangeAsRange

OnErrorResumeNext

ForEachoSecInThisDocument.Sections'文档的节中循环

SetmyRange=oSec.Headers(wdHeaderFooterPrimary).Range

myRange.Delete'删除页眉中的内容

myRange.ParagraphFormat.Borders(wdBorderBottom).LineStyle=wdLineStyleNone'段落下边框线

SetmyRange=oSec.Footers(wdHeaderFooterPrimary).Range

myRange.Delete'删除页脚中的内容

Next

EndSub

不能用啊

word vba怎么查找字符串,并获取所在页码、所在行数

PrivateSubCommandButton1_Click()

Dimp,r,s,t

s="石膏板造型顶"

WithSelection.Find

.ClearFormatting

.MatchWholeWord=True

.MatchCase=False

t=.Execute(FindText:=s)

EndWith

p=Selection.Information(wdActiveEndPageNumber)

r=Selection.Information(wdFirstCharacterLineNumber)

IftThen

MsgBox"成功,已找到“"&s&"”"&vbCrLf&_

"页码:"&p&vbCrLf&"行数:"&r,vbOKOnly,_

"成功"

Else

MsgBox"很遗憾,没有找到“"&s&"”",vbOKOnly,_

"遗憾"

EndIf

EndSub

写代码很辛苦,好心的楼主请 救济 点儿 悬赏分

更多

太感谢了,我现在只有5分了,要不我先去赚点分再加给你。我还有个30分的提问,是全部家当了,不嫌弃的话,帮我解答下。

那个问题的链接?

不好意思,那个上午有人解答了。这个我先赚点分再来结贴

呵呵,那谢谢你了

转载请注明出处51数据库 » vbaword页码设置 VBA怎么读取word的页码

软件
前端设计
程序设计
Java相关