excel vba 读取 word 指定字符
Sub 按钮1()Dim myPath As StringSet Wdapp = CreateObject("Word.Application")Wdapp.Visible = TrueApplication.ScreenUpdating = False '关闭屏幕刷新' On Error Resume Next '捕捉错误myPath = ThisWorkbook.Path & "\多房地产预评估函.doc" '定义word文件路径,自己修改Set wdDoc = Wdapp.Documents.Open(myPath) '打开wordwdDoc.Activatesr = wdDoc.Content '将word的文档内容赋予变量srMsgBox Mid(sr, InStr(sr, "籍贯") + 3, 2)wdDoc.Close '关闭wordWdapp.QuitSet Wdapp = NothingSet wdDoc = NothingApplication.ScreenUpdating = True '开启屏幕刷新End Sub
如何在excel vba 中读写word文档 步骤
Sub text()Dim wd As New Word.ApplicationSet wd = CreateObject("word.application")With wd.Visible = True.Documents.AddEnd WithActiveDocument.Range.text = "123456789"End Sub以上代码在excel模块当中写入,新建Word,并向其中写入字符"123456789"注意:需要在引用中勾选word 14.0 如图
VBA怎麽读取word的页码
亲,代码如下:Private Sub TJYS_Click()Dim d, p As IntegerDim f, ff As ObjectSet fso = CreateObject("Scripting.FileSystemObject")Set ff = fso.getfolder(ThisDocument.Path)d = 0: p = 0For Each f In ff.FilesIf f.Name ThisDocument.Name And Left(f.Name, 2) "~$" And f.Name Like "*.doc*" Thend = d + 1Documents.Open FileName:=ThisDocument.Path & "\" & f.Namep = p + ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)ActiveDocument.Close FalseEnd IfNext fMsgBox "总共统计了 " & d & " 个文件,总页数为 " & p & "页。
", vbOKOnly, "结果"End Sub
如何Word中用VBA打开Excel表格,读取其中的内容写入到Word
在word vba工具-引用中选中Ms Excel就可以正常打开EXCEL进行操作了Dim xlapp As Excel.Application '代表excel程序Dim wkBook As Excel.Workbook '代表excelworkbook(也就是excel工作簿文件 .xls .xlsx)Dim wkSheet As Excel.Worksheet '代表excel的工作页xlapp.Application.EnableEvents = False '禁止宏等提示的运行Set wkBook = xlapp.Workbooks.Open(ExcelFileName)
如何利用VBA编写控制Word域的功能
操作步骤:1、选中表格,单击鼠标右键,弹出快捷菜单,选择表格属性命令,如图所示;2、弹出表格对话框,选择行选项卡,选中指定高度复选框,在输入框中输入所需要的高度值,如图所示;3、选择列选项卡,选中指定宽度复选框,在输入框中输入所需要的高度值,如图所示;
如何在Excel VBA 中读写word文档 步骤
1. 库的配置在默认情况下,新创建的excel vba中不支持定义word对象。
所以需要先引入word库,操作步骤如下:1.1 打开excel vba 界面1.2 选中其中的一个Module1.3 选择菜单, Tools --> References在打开的对话框中选择类似 "Microsoft Word 14.0 Object Library".1.4 点击OK保存配置。
2. 打开文档Set wordApplication = CreateObject("Word.Application")wordApplication.Visible = FalseDim hasOpenDoc As BooleanhasOpenDoc = IsOpen(filePath) ' is a self-defined function to check file is opendIf hasOpenDoc = True thenSet wordDoc = GetObject(filePath)End ifIf hasOpenDoc = False ThenSet wordDoc = wordApplication.Documents.Open(filePath)End ifwordDoc.ActiveWith wordApplicationDim aParagraph As Word.ParagraphFor Each aParagraph In wordDoc.Paragraphs' do some thing to every paragraph.Next aParagraphEnd withwordDoc.CloseSet wordDoc = nothing ' 如下这段代码引用某位牛人的,非常感谢他。
由于路径丢失,不能给出链接, 抱歉' 如下的找寻方式,能够正确的找出文件是否被打开Function IsOpen(fileName As String) As BooleanIsOpen = FalseDim findFile As IntegerfindFile = FreeFile()On Error GoTo ErrOpenOpen fileName For Binary Lock Read Write As findFileClose findFileExit FunctionErrOpen:If Err.Number 70 ThenMsg = "Error # " & Str(Err.Number) & "was generated by " & Err.Source & Chr(13) & Err.DescriptionMsgBox Msg, "Error", Err.HelpFile, Err.HelpContext ElseIsOpen = TrueEnd IfEnd Function
请教怎么在Excel中通过VBA来操作Word文档中的域
Sub Test()Dim f, n, x, wb, fNameOn Error Resume NextCells.Clear'打开文件(可多选)f = Application.GetOpenFilename("Word文件,*.docm,", 1, "选择文件", MultiSelect:=True)'遍历每个选择的文件For x = 1 To UBound(f)sFile = f(x)'取文件名,并赋值给单元格n = Len(sFile) - InStrRev(sFile, "\")fName = Right(sFile, n)Cells(x, 1) = Left(fName, InStr(fName, " ") - 1) '取1到空格前的字符'Cells(x, 1) = Left(fname, 9) '取文件名的前9个字符Cells(x, 2) = Mid(fName, InStr(fName, " ") + 1, Len(fName) - InStr(fName, ".") + 1) '取空格后到点之前的字符'Cells(x, 2) = Mid(fName, 10, Len(fName) - InStr(fName, ".") + 1) '从10开始取到点之前的字符Next xEnd Sub
怎样使VBA按文件名顺序批量读取word文档?
操作步骤。
第一,首先将需要批量替换的多个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 ThenmyPath = .SelectedItems(1)ElseExit SubEnd IfEnd WithmyPas = InputBox("请输入打开密码:")With Application.FileSearch.LookIn = myPath.FileType = msoFileTypeWordDocumentsIf .Execute >0 ThenFor i = 1 To .FoundFiles.CountSet myDoc = Documents.Open(FileName:=.FoundFiles(i), Passworddocument:=myPas)Selection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text = "大家好".Replacement.Text = "你好".Forward = True.Wrap = wdFindAsk.Format = False.MatchCase = False.MatchWholeWord = False.MatchByte = True.MatchWildcards = False.MatchSoundsLike = False.MatchAllWordForms = FalseEnd WithSelection.Find.Execute Replace:=wdReplaceAllmyDoc.SavemyDoc.CloseSet myDoc = NothingNextEnd IfEnd WithApplication.ScreenUpdating = TrueEnd Sub第五,保存上面代码,退出VB编辑模式,返回Word文档界面。
第六,单击选中该按钮,再单击控件工具箱的第一个按钮“退出设计模式”。
第七,进行测试:点击按钮,选择要放置多个WORD文档所在的文件夹,确定后即可完成!注意如果WORD文档没有加密的话,密码项就不填,直接确认。
转载请注明出处51数据库 » vba 域 读取 word