vba确定word指定文字在第几页
亲,代码如下,查找第一次出现“ABC”的所在页的页码。
请根据情况自行修订需要查找的字符:Sub cz()Dim MyRange As RangeSet MyRange = ActiveDocument.ContentMyRange.Find.Execute FindText:="ABC", Forward:=TrueMsgBox MyRange.Information(wdActiveEndPageNumber)End Sub
如何用vba按页数拆分word文档
如果想按照指定页数拆分,请使用下面的代码,其它步骤和原来那个方案相同。
Option ExplicitSub SplitEveryFivePagesAsDocuments()Dim oSrcDoc As Document, oNewDoc As DocumentDim strSrcName As String, strNewName As StringDim oRange As RangeDim nIndex As Integer, nSubIndex As Integer, nTotalPages As Integer, nBound As IntegerDim fso As ObjectConst nSteps = 100 ' 修改这里控制每隔几页分割一次Set fso = CreateObject("Scripting.FileSystemObject")Set oSrcDoc = ActiveDocumentSet oRange = oSrcDoc.ContentnTotalPages = ActiveDocument.Content.Information(wdNumberOfPagesInDocument)oRange.Collapse wdCollapseStartoRange.SelectFor nIndex = 1 To nTotalPages Step nStepsSet oNewDoc = Documents.AddIf nIndex + nSteps >nTotalPages ThennBound = nTotalPagesElsenBound = nIndex + nSteps - 1End IfFor nSubIndex = nIndex To nBoundoSrcDoc.ActivateoSrcDoc.Bookmarks("\page").Range.CopyoSrcDoc.Windows(1).ActivateApplication.Browser.Target = wdBrowsePageApplication.Browser.NextoNewDoc.ActivateoNewDoc.Windows(1).Selection.PasteNext nSubIndexstrSrcName = oSrcDoc.FullNamestrNewName = fso.BuildPath(fso.GetParentFolderName(strSrcName), _fso.GetBaseName(strSrcName) & "_" & (nIndex \ nSteps + 1) & "." & fso.GetExtensionName(strSrcName))oNewDoc.SaveAs strNewNameoNewDoc.Close FalseNext nIndexSet oNewDoc = NothingSet oRange = NothingSet oSrcDoc = NothingSet fso = NothingMsgBox "结束!"End Sub
高分悬赏,如何用vba在word每一页都插入一个文本框
可以先插入页,再逐个跳到相应页码,下面的代码 在2个页中插入2个文本框,没有问题:Sub InsText()Set DocNew = ActiveDocumentDocNew.Paragraphs(1).Range.InsertAfter " "DocNew.Paragraphs(1).Range.InsertBreakSet NewT = DocNew.Shapes.AddTextbox(1, 130, 150, 80, 20)NewT.TextFrame.TextRange.InsertAfter "Hello world 1"Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Name:=2Set NewT2 = DocNew.Shapes.AddTextbox(1, 130, 150, 80, 20)NewT2.TextFrame.TextRange.InsertAfter "Hello world 2"End Sub如果页码多,可以用For循环
分了好多节的word通过VBA调出某一节的页码范围
sub test ()istart = InputBox("输入你要打印的起始节")iEnd = InputBox("输入你要打印的结束节") '为了方便搞了两个inputbox,你可以用一个,方法如下:'规定一个格式,然后用instr,left,right等得到起始和结束的节数Dim doc As DocumentDim rngDoc As RangeSet doc = ActiveDocumentSet rngDoc = doc.Range(Start:=doc.Paragraphs(istart).Range.Start, _End:=doc.Paragraphs(iEnd).Range.End)rngDoc.Selectdoc.PrintOut Range:=wdPrintSelectionSet rngDoc = NothingSet doc = Nothingend sub
vba如何把word表格内容填到excel里
如果说填写,这个比较复杂,而且很难实现,因为word的VBA都是跟跟键盘操作,和界面操作有关的。
所以,如果可能,可以考虑用VBA来复制表格,然后粘贴到EXCEL中,对于比较简单的表格,内容是可以完全匹配的。
首先,你要知道如何用键盘来选择整个表格,然后复制,把这些操作录制下来,然后复制代码。
。
如果你是要从EXCEL 的VBA 入手,那么你需要在VBA引用中添加WORD Libary 11.0 如果是从WORD的VBA入手,那么就要添加EXCEL LIBARY 11.0 (OFFICE 2007 是 12.0)然后就是需要知道EXCEL中粘贴的代码,如果我记得不错的话,是:cells(1,1).paste这个,你也可以通过录制来得到。
如果你需要知道具体的操作方案,你当然也应该吧分数提高。
。
。
WORD 如何使用VBA修改页脚的字体,字号
Sub setPageFont() Application.PrintCommunication = False With ActiveSheet.PageSetup .LeftHeader = "" '页眉左设置为:空 .CenterHeader = "&F" '页眉中设置为:文件名 .RightHeader = "" '页眉右设置为:空 .LeftFooter = "&B 机密 &B" '页脚左设置为:加粗的 机密两个字 .CenterFooter = "&D" '页脚中设置为:当前日期 .RightFooter = " 第 &P 页" '页脚右设置为:页码 End With Application.PrintCommunication = TrueEnd Sub
在WORD中如何设置每一页的页眉都不同?
1.首先打开Word文档,点击“插入”点击“页眉”,然后进行编辑。
2.光标定位至页面结尾,然后点击菜单栏“布局”,点击“分隔符”,找到“下一页”点击。
3.光标定位至第二页页眉,然后在上方菜单栏设计下点击取消“链接到前一条页眉 ”。
4.最后重新编辑第二页页眉即可。
如何将WORD里的多页分成单个的WORD
亲,这一句要改一下:mysec.Headers(1).Range.Text = Replace(Replace(mysec.Headers(1).Range.Text, "ABC", "111"), Chr(13), "")因为,如果您注意观察,会发现页眉的文字最后都有一个回车字符,就如同段落、表格的末尾一样,这个字符也是页眉的一部分。
你可以用debug.print len(mysec.headers(1).range.text)看一下页眉的长度,是包含了末尾回车字符的(chr(13))。
所以,当你用replace替换之后,这个回车字符仍然在。
注意:关键是给header.range.text赋值时,word vba默认是不含最后一个回车字符的;这样更方便编程,否则每次都要记住在末尾加一个chr(13),岂不把人烦死!最后,解决方法就是,再使用一次replace,在赋值前把回车符去掉。
转载请注明出处51数据库 » word vba 页