word 使用vba 怎么改一个内容?
操作步骤。
第一,首先将需要批量替换的多个Word文档放在同一文件夹下面。
第二,新建一空白Word文档,右击空白工具栏,单击“控件工具箱”,就可以看到屏幕上调出的控件工具箱。
第三,在控件工具箱上单击“命令按钮”,文档中就放置了一个按钮了。
第四,双击该按钮,进入VB代码编写模式,将以下代码复制进去。
Private Sub CommandButton1_Click()Application.ScreenUpdating = FalseDim myPas As String, myPath As String, i As Integer, myDoc As DocumentWith Application.FileDialog(msoFileDialogFolderPicker) .Title = "选择目标文件夹" If .Show = -1 Then myPath = .SelectedItems(1) Else Exit Sub End IfEnd WithmyPas = InputBox("请输入打开密码:")With Application.FileSearch .LookIn = myPath .FileType = msoFileTypeWordDocuments If .Execute > 0 Then For i = 1 To .FoundFiles.Count Set myDoc = Documents.Open(FileName:=.FoundFiles(i), Passworddocument:=myPas) Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "大家好" .Replacement.Text = "你好" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = True .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll myDoc.Save myDoc.Close Set myDoc = Nothing Next End IfEnd WithApplication.ScreenUpdating = TrueEnd Sub 第五,保存上面代码,退出VB编辑模式,返回Word文档界面。
第六,单击选中该按钮,再单击控件工具箱的第一个按钮“退出设计模式”。
第七,进行测试:点击按钮,选择要放置多个WORD文档所在的文件夹,确定后即可完成!注意如果WORD文档没有加密的话,密码项就不填,直接确认。
就会发现该文件夹下面的所有WORD文档中“大家好”已被替换为“你好”了。
vba在excel中打开word并把里面的文字内容转为表格
当然可以,我以前写的,你可以参考一下:Private Sub CommandButton1_Click()On Error Resume NextDim iRow As Integer, myPath As StringDim wdApp As Word.Application, wdDoc As Word.Document, wdRange As Word.RangeDim 收文日期 As String, 标题 As String, 来文单位 As String, 文号 As String, 拟办情况 As String'--------------------------------------------------------------------------------------------------------Label3.Caption = "封面正在生成中..."'--------------------------------------------------------------------------------------------------------iRow = TextBox1.Text'获取待填写信息来文单位 = Cells(iRow, 3).Text来文单位 = Replace(来文单位, Chr(10), "^p") '将excel中的换行替换成word中的换行文号 = Cells(iRow, 4).Text文号 = Replace(文号, Chr(10), "^p") '将excel中的换行替换成word中的换行标题 = Cells(iRow, 5).Text标题 = Replace(标题, Chr(10), "^p") '将excel中的换行替换成word中的换行收文日期 = CStr(Year(Now())) & Cells(iRow, 6).Text拟办情况 = TextBox2.Text'--------------------------------------------------------------------------------------------------------myPath = ThisWorkbook.Path & "\封面\"'文件若已打开,则关闭已打开文件For Each wdDoc In Documents If InStr(1, wdDoc.Name, myPath & "(" & 收文日期 & ")" & 标题 & ".doc", 1) Then wdDoc.Close savechanges:=wdDoNotSaveChanges Exit For End IfNext wdDoc'--------------------------------------------------------------------------------------------------------Set wdDoc = CreateObject(myPath & "空白模板.doc") '打开wordwdDoc.Activate '--------------------------------------------------------------------------------------------------------'填写文档Set wdRange = wdDoc.Content '将word的文档内容赋予wdrangewdRange.Find.Execute FindText:="{来文单位}", ReplaceWith:=来文单位, Replace:=wdReplaceAllwdRange.Find.Execute FindText:="{文号}", ReplaceWith:=文号, Replace:=wdReplaceAllwdRange.Find.Execute FindText:="{收文时间}", ReplaceWith:=收文日期, Replace:=wdReplaceAllwdRange.Find.Execute FindText:="{内容摘要}", ReplaceWith:=标题, Replace:=wdReplaceAllwdRange.Find.Execute FindText:="{办公室拟办}", ReplaceWith:=拟办情况, Replace:=wdReplaceAll'--------------------------------------------------------------------------------------------------------'文档另存为wdDoc.SaveAs Filename:=myPath & "(" & 收文日期 & ")" & 标题 & ".doc"End Sub
使用VBA在查询WORD中表格的内容
只要定义一个Word.Application对象,Set WordApp = CreateObject("Word.Application")然后操作这个WordApp 对象就可以了,就像在Word中使用VBA一样,打开文件用 WordApp.Documents.Open 文件路径定位主要用 WordApp.Selection.Move系列指令,也可以用WordApp.Selection.Goto 具体的你可以用录制宏的方法在Word中看看用什么代码合适。
用vba打开word模板并修改后保存
Sub PageLine()nPage = InputBox(Chr(13) & "输入要查看的页数。
", "文本的页数", 13)nLine = InputBox(Chr(13) & "输入要查看的行数。
", "查看的行数", 7)Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=nPageSelection.GoTo What:=wdGoToLine, Which:=wdGoToNext, Name:=nLine - 1Selection.ExtendSelection.EndKey Unit:=wdLineSelection.EscapeKeyMsgBox Selection.RangeEnd Sub
要将Word文件中的内容通过程序读取到数据库中,怎么通过VBA来实...
示例:把c:\1.doc中的“一”替换为“壹”:Private Sub Command1_Click()Dim wordObjSet wordObj = CreateObject("Word.Application")With wordObj.Documents.Open("c:\1.doc").Content.Find.Execute "一", , , , , , , , , "壹", 2.SaveEnd WithwordObj.quitEnd Sub
用VBA直接在WORD中能正常运行的方法或属性相关常量设置,在...
前期绑定的好处在于,由该绑定类库所引申出来的常数、对象、属性和方法,都可以被直接应用。
对于wdPropertyLines和wdAlignParagraphCenter这些常数,如果在前期绑定时,那么这些常数就和其对应的值一一对应了,因为在类库的内部,已经对这些常数进行了定义和赋值。
然而通过后期绑定Set wordAppl = CreateObject("Word.Application")这种方法引用的word对象,仅仅wordAppl这个实例才拥有各种属性和方法。
然而Microsoft Word 11.0 Object Library这个类库所包含的word.application仅仅只是其中的一个对象,wdPropertyLines和wdAlignParagraphCenter在这个类库中,但并不一定在word.application这个对象中。
而且,你的excel因为没有引用Microsoft Word 11.0 Object Library,所以计算机就不能识别,于是产生错误。
解决办法,你打开一个Word文档,然后在Word中通过 :Sub xx()Msgbox wdAlignParagraphCenter '弹出值为:1MsgBox wdPropertyLines '弹出值为:23End Sub然后,你在Excel中,使用如下代码:.ParagraphFormat.Alignment = 1 '1 = wdAlignParagraphCenterwdLines =.BuiltInDocumentProperties(23) '23 = wdPropertyLines你可以一试,希望能够正确,并对你有帮助!!
转载请注明出处51数据库 » vba修改word中的内容