精华内容
下载资源
问答
  • 以下代码实现了在Excel中打开Word文档。代码:Sub openWord() '在Excel中打开Word文档 ' ' Dim sFName As String, strFilt As String, strTitle As String Dim docApp As Word.Application ...

    VBA的一个强项是可以跨应用操作,特别是在office各程序内部。以下代码实现了在Excel中打开Word文档。

    代码:

    Sub openWord()
    '在Excel中打开Word文档
    '
    '
        Dim sFName As String, strFilt As String, strTitle As String
        Dim docApp As Word.Application
        
        strFilt = "Word文档,*.doc; *.docx; *.docm"  '允许打开的文件后缀名
        strTitle = "请选择要打开的Word文档"          '对话框标题
        
        sFName = Application.GetOpenFilename(filefilter:=strFilt, Title:=strTitle)
        If sFName = "False" Then Exit Sub           '用户取消选择,则退出程序
        
        Set docApp = CreateObject("Word.Application")   '为docApp变量赋值
        docApp.Documents.Open sFName
        docApp.Visible = True
        docApp.Activate     '让打开后的文件显示在桌面(成为当前活动文档)
        
        Set docApp = Nothing
        
    End Sub

    效果:


    展开全文
  • word通过VBA打开excel数据文件 可以将excel的内容作为word doc文件读取的代码
  • 把 合并文件.docm和需要合并的word文档(例如:测试用的文档1.docx、测试用的文档1.docx)放入一个文件夹里面 调用宏方法 打开开发工具-宏 功能介绍 可以看到两个宏名称 1、writeFileNameList 把目录下的文档名称...
  • 处理完数个word,回头一看,才发现前面...马上用vba处理一下。 把这些word放在D盘根目录。逐个遍历并打开,逐一修改保存退出。OK! 代码如下: Sub a() Dim doc As Document, myFile As String Dim a As Ran

    处理完数个word,回头一看,才发现前面代码把一个符号搞反了。。。

    把大于等于与小于等于两符号,颠倒了位置。。。晕。


    马上用vba处理一下。


    把这些word放在D盘根目录。逐个遍历并打开,逐一修改保存退出。OK!


    代码如下:


    Sub a()
        Dim doc As Document, myFile As String
        Dim a As Range
        
        myFile = Dir("D:\" & "*.docx")
        
        Do While myFile <> ""
            myFile = "D:\" & myFile
            Set doc = Documents.Open(myFile)
            Set a = doc.Range
    
    
            Selection.WholeStory
            '展开域
            Selection.Fields.ToggleShowCodes
            '≥≤ 把大换小,把小换小
            a.Find.Execute FindText:="≤", MatchWildcards:=True, replacewith:="$", Replace:=wdReplaceAll
            a.Find.Execute FindText:="≥", MatchWildcards:=True, replacewith:="#", Replace:=wdReplaceAll
            a.Find.Execute FindText:="$", MatchWildcards:=True, replacewith:="≥", Replace:=wdReplaceAll
            a.Find.Execute FindText:="#", MatchWildcards:=True, replacewith:="≤", Replace:=wdReplaceAll
            Selection.WholeStory
            Selection.Fields.ToggleShowCodes
            
            '保存退出
            doc.Save
            doc.Close
            
            Set doc = Nothing
            
            '查找下一个
            myFile = Dir
        Loop
    End Sub


    Sub a()
        Dim doc As Document, myFile As String
        Dim a As Range
        
        myFile = Dir("D:\" & "*.docx")
        Do While myFile <> ""
            myFile = "D:\" & myFile
            Set doc = Documents.Open(myFile)
            Set a = doc.Range
            
            Selection.WholeStory
            '展开域
            Selection.Fields.ToggleShowCodes
            '域调整
            a.Find.Execute FindText:="\s( ,", MatchWildcards:=False, replacewith:="\s\do6(", Replace:=wdReplaceAll
            a.Find.Execute FindText:="\s(", MatchWildcards:=False, replacewith:="\s\up7(", Replace:=wdReplaceAll
            Selection.WholeStory
            Selection.Fields.ToggleShowCodes
            
            Dim c As Range, strText As String
            '下标用域
            For Each c In a.Characters
                If c.Font.Subscript = True Then
                    c.Select
                    strText = Replace(c.Text, Chr(13), "")
                    If strText <> "" Then
                        c.Delete
                        Set myfield = Selection.Fields.Add(Range:=Selection.Range, Type:=wdFieldEmpty, PreserveFormatting:=True) '增加一个新域
                        myfield.Code.Text = "eq \s\do4(" & strText & ")"
                    Else
                        c.Font.Subscript = False
                    End If
                End If
            Next
            
            '保存退出
            doc.Save
            doc.Close
            Set doc = Nothing
            '查找下一个
            myFile = Dir
        Loop
    End Sub





    展开全文
  • EXCEL-VBA打开word文件转换为PDF保存

    千次阅读 2020-02-27 21:34:37
    Sub a() Dim WordApp As Word.Application Dim WordDoc As Word.Document Set WordApp = New Word.Application Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\HAHA1.docx"...
    Sub a()
        Dim WordApp As Word.Application
        Dim WordDoc As Word.Document
        
        Set WordApp = New Word.Application
        Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\HAHA1.docx")
        WordDoc.SaveAs ThisWorkbook.Path & "\HAHA1.pdf", wdFormatPDF
        WordDoc.Close
        WordApp.Quit
        Set WordDoc = Nothing
        Set WordApp = Nothing
    End Sub
    

    要引用word哦

    展开全文
  • 使用VBAWord或Excel文档窗口置顶

    千次阅读 2019-05-13 16:02:39
    在使用Word或Excel时有时需要让窗口总是显示在最前面而不被别的窗口挡住,虽然Word或Excel并没有提供这样的功能,但是在VBA中使用API函数“SetWindowPos”可以让窗口总在最前面,具体操作如下: 1. 打开需要置顶的...

    前几天工作中需要让excel窗口置顶,于是查了下资料,整理成以下内容。
      在使用Word或Excel时有时需要让窗口总是显示在最前面而不被别的窗口挡住,虽然Word或Excel并没有提供这样的功能,但是可以在VBA中使用API函数“SetWindowPos”让窗口总在最前面,具体操作如下:

    1. 打开需要置顶的文档,按Alt+F11快捷键,打开Microsoft Visual Basic for Applications宏代码编辑器,点击插入的模块:在这里插入图片描述
    2. 在右侧新建的"模块1"中输入以下代码:

    Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
    ByVal hwndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
    ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
    Const HWND_TOPMOST = -1
    Const HWND_NOTOPMOST = -2
    Const SWP_NOSIZE = &H1
    Const SWP_NOMOVE = &H2
    Sub 窗口总在最前面()
    SetWindowPos Application.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
    End Sub
    Sub 恢复()
    SetWindowPos Application.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
    End Sub
    

    在这里插入图片描述
    3. 保存,并关闭VBA窗口,返回excel窗口,在excel窗口下,点击视图下的宏的查看宏(或按Alt+F8),弹出宏对话框,选择"窗口总在最前面",点"执行"即可,如需取消置顶,执行再次在查看宏下执行“恢复”即可:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • VBA打开PDF文件

    2021-10-12 11:14:43
    Shell "RUNDLL32.EXE URL.DLL,FileProtocolHandler " & myfile, vbMaximizedFocus ' myfile是PDF文件完整路径
  • Excel VBA 操作 Word(入门篇)

    万次阅读 多人点赞 2018-07-03 13:14:56
    原文地址本文的对象是:有一定Excel VBA基础,对Word VBA还没有什么认识,想在Excel中通过VBA操作Word还有困难的人。 一、新建Word引用需要首先创建一个对 Word Application 对象的引用。在VBA中,工具-引用,选取...
  • 如何在Excel VBA 中读写word文档 步骤

    千次阅读 2012-12-06 18:48:05
    在默认情况下,新创建的excel vba中不支持定义word对象。 所以需要先引入word库,操作步骤如下: 1.1 打开excel vba 界面 1.2 选中其中的一个Module 1.3 选择菜单, Tools --> References  在打开的对话框中...
  • VBA操作word/excel/ppt宏

    2016-08-25 18:04:34
    VBA宏,word,excel,ppt.这是一个demo,里面还有操作文档
  • word文件页数很多时,通过本代码,可以很方便的跳转到上一次保存退出时光标所在的位置,此方案系本人原创,未经许可,不得转载。本方案并非网上的传统方法Shift + F5,而是依赖事件触发。希望给大家的工作带来便利
  • 这是用Word VBA编写的,用于工作中模板内容填写的例子。可以解决日常公文中内容多次重复填写的问题。需要根据实际情况自己修改,上传例子仅供参考。 本人在Word 2000中开发的,在...常识提醒:使用中要打开Word的宏。
  • vba_for_wps,亲测可用

    2018-06-21 16:48:24
    wps2016可用的VBA,亲测可用。安装之后重启一下WPS即可,如果不出现的话,在设置里启用开发工具。
  • vba 实现Word文档的批量转换为PDF

    万次阅读 2019-03-04 15:36:02
    '需要转换的word文档的个数 dim total as Integer '定义文件名数组:数组的个数根据需要进行设置 Dim fns(total) As String fns(0) = "d:\doc\1.docx" '..................... fn...
  • 文件夹内已经汇总了几十上百篇Doc/Docx文档,可能是各部门的总结,可能是工会入会申请,或者其它半格式化(毕竟不是表格)内容,如果没有VBA帮忙,你就要挨个打开,之后copy-n-paste里面的特定内容到你的Excel表里;...
  • 如果没有WORD文件打开的状态下 如果最后一个文件被关掉, 与EXCEL不同, 这时对象一起也关掉 应对方案: 建立一个新的临时Word文件Set DcT=Word.Documents.Add 但是, 这个新建文件似乎在Word对象打开其它文件的时候就...
  • 读取写入前需创建Word的引用,打开文件并获取Word的Document对象。需要说明的一点是,Word自定义属性所能写入的长度是有限制的,约255个字符。
  • 通过VBAword中的表格导入到excel中

    万次阅读 2018-04-09 15:43:41
    通过VBA将word中的表格导入到...1、添加“开发工具”选项卡 打开word(我的是office2007),点击左上角“office 按钮”,点击“word选项”,打开如下图所示界面:勾选“在功能区显示“开发工具”选项卡”2、VBA编辑界...
  • 如何用VBA提取WORD文档里的图片

    千次阅读 2018-07-17 14:49:46
     Application.ScreenUpdating = False  Dim FileName As String  FileName = InputBox("请输入文件名")  Selection.Copy ... Documents.Add DocumentType:=wdNewBlankDocument ...
  • 3 VBA读取word到excel中

    千次阅读 2018-12-10 14:27:15
    案例: option explicit sub importfromword() dim w as object,i As Long,doc as Object '创建一个word的Application对象,由w代表 ...'循环打开使用数字命名的各个word文档,由doc代表 for i=1 to 8  ...
  • WPS文字 VBA帮助文件

    2019-01-20 13:54:52
    金山出的WPS文字(WordVBA的帮助文件,看起来比微软Word VBA的帮助文件相对简单,示例更为详细易懂
  • Word VBA-图片操作汇总

    2021-05-28 09:38:43
    True .DisableLineHeightGrid = False .FarEastLineBreakControl = True .WordWrap = True .HangingPunctuation = True .HalfWidthPunctuationOnTopOfLine = False .AddSpaceBetweenFarEastAndAlpha = True ....
  • alt+F11 组合键打开VBA窗口, 双击左侧“工程资源管理器”窗口的“ThisDocument”,在弹窗中键入以下代码 Sub PicCenter() Dim myS As InlineShape Application.ScreenUpdating = False For Each myS in ...
  • 【注意】将word中的公式编辑器转换成word自带公式,vba直接用word的开发工具-Visual basic工具打开导入! 【1】需要先通过mathtype的格式化选项卡-转换公式-mathtype/MathML2.0(namespaceattr)进行文档初步处理成...
  • VBA宏批量处理多个Word文档

    千次阅读 2021-01-20 11:19:45
    前言 工作里面需要处理上百个Word文档,所以就开始在网上查找宏相关的代码 由于第一次接触宏相关的代码,所以写得肯定不会很好。... Application.ScreenUpdating = False '冻结屏幕,打开各个文件及关闭
  • Word 利用 vba 代码实现拆分文档页数

    千次阅读 2020-09-24 23:03:29
    Word使用VBA实现拆分文档页数实现步骤: 新建一个记事本,添加以下代码 Sub 利用VBA实现Word文档的拆分() On Error Resume Next Dim doc1 As Document, newdoc As Document, a, page1%, page2%, i1%, i2%, i3%, dk...
  • VBA两种打开文件窗口的方式

    千次阅读 2020-10-20 10:32:33
    VBA两种打开文件窗口的方式第一种第二种结语 第一种 获取文件夹路径,返回完整路径 Dim Fso, Fld '定义文件路径 Set Fso = CreateObject("Scripting.FileSystemObject") Set Fld = Fso.getfolder(CreateObject(...
  • Word-VBA读取文档目录

    千次阅读 2018-01-15 12:53:10
    Sub Test()  Dim ol_Par(), myPar As Paragraph, i_OL As Integer, i_Count As Integer, i_Temp As Integer, str_Temp As String ... If MsgBox("文档结构图没有打开,你要打开它吗?
  • VBA for Word(微软官方VBA和对象参考) word自动化操作使用,微软封装的类真是丰富啊,看名称就能知道怎么用,不过有时还是得查查帮助文档的,加尽情下载吧,0分大放送。打开的时候注意把钩去掉。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,973
精华内容 1,589
关键字:

vba打开word文件