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的页码

