精华内容
下载资源
问答
  • 作者:看见星光 转自:Excel之家ExcelHome早上...群众的呼声当然就是我们前进的方向,所以我们今天分享的VBA小代码的内容是:如何将Word文件的表格数据批量写入Excel?比如说,有一个Word文件,里面有十几张表格,现...

    作者:看见星光 转自:Excel之家ExcelHome

    早上好啊都……呃……不知道该说什么了,直接说正事吧……

    有蛮多的朋友询问VBA多文件协同应用的问题,比如如何将Excel的数据写入PPT文件?如何将Word的数据写入Excel?

    群众的呼声当然就是我们前进的方向,所以我们今天分享的VBA小代码的内容是:

    如何将Word文件的表格数据批量写入Excel?

    比如说,有一个Word文件,里面有十几张表格,现在急需将每个表格的数据复制到Excel,每个表格自成一份Sheet,关键是很不巧,你的秘书MISS李请假一个月回老家了……

    操作动画如下:

    7a1595d7e937e914e60ac72aa4029606.gif

    代码如下

    Sub GetWordTable()    Dim WdApp As Object    Dim objTable As Object    Dim objDoc As Object    Dim strPath As String    Dim shtEach As Worksheet    Dim shtSelect As Worksheet    Dim i As Long    Dim j As Long    Dim x As Long    Dim y As Long    Dim k As Long    Dim brr As Variant    Set WdApp = CreateObject("Word.Application")    With Application.FileDialog(msoFileDialogFilePicker)        .Filters.Add "Word文件", "*.doc*", 1        '只显示word文件        .AllowMultiSelect = False        '禁止多选文件        If .Show Then strPath = .SelectedItems(1) Else Exit Sub    End With    Application.ScreenUpdating = False    Application.DisplayAlerts = False    Set shtSelect = ActiveSheet    '当前表赋值变量shtSelect,方便代码运行完成后叶落归根回到开始的地方    For Each shtEach In Worksheets    '删除当前工作表以外的所有工作表        If shtEach.Name <> shtSelect.Name Then shtEach.Delete    Next    shtSelect.Name = "EH看见星光"    '这句代码不是无聊,作用在于……你猜……    '……其实是避免下面的程序工作表名称重复    Set objDoc = WdApp.documents.Open(strPath)    '后台打开用户选定的word文档    For Each objTable In objDoc.tables    '遍历文档中的每个表格        k = k + 1        Worksheets.Add after:=Worksheets(Worksheets.Count)        '新建工作表        ActiveSheet.Name = k & "表"        x = objTable.Rows.Count        'table的行数        y = objTable.Columns.Count        'table的列数        ReDim brr(1 To x, 1 To y)        '以下遍历行列,数据写入数组brr        For i = 1 To x            For j = 1 To y                brr(i, j) = "'" & Application.Clean(objTable.cell(i, j).Range.Text)                'Clean函数清除制表符等                '半角单引号将数据统一转换为文本格式,避免身份证等数值变形            Next        Next        With [a1].Resize(x, y)            .Value = brr            '数据写入Excel工作表            .Borders.LineStyle = 1            '添加边框线        End With    Next    shtSelect.Select    objDoc.Close: WdApp.Quit    Application.ScreenUpdating = True    Application.DisplayAlerts = True    Set objDoc = Nothing    Set WdApp = Nothing    MsgBox "共获取:" & k & "张表格的数据。"End Sub

    代码已有注释说明,这里就不再啰嗦了。

    特殊时期,小伙伴们尽量不要出门。闷了,就看看窗外的景色吧。

    ab10aea7cd9c33a82423eabdda8864ce.png

    图文作者:看见星光

    展开全文
  • 在MS WORD中,当有大量的表格出现时,调整每个表格的的高和宽和大小将是一件非常累的事情,拖来拖去,非常耗时间,而且当WORD文档达到300页以上时,调整反应...表格的自动调整功能有根据内容调整表格和根据窗口调整表

        在MS WORD中,当有大量的表格出现时,调整每个表格的的高和宽和大小将是一件非常累的事情,拖来拖去,非常耗时间,而且当WORD文档达到300页以上时,调整反应非常的慢,每次拖拉线后,需要等待一段时间其才完成调整,劳心劳力。

        其实解决这个问题有一个很好的办法,MS WORD做的这个功能确实不错,有一定的智能性。这个功能就是表格的自动调整功能。表格的自动调整功能有根据内容调整表格和根据窗口调整表格。

    一、表格根据内容自动调整

    1、根据内容调整表格

        主要利器之一,当表格比较凌乱,内容较少时,用它可以起到立即美化的作用,其会合理调整列宽,使包含英文字母或数字的项尽可能显示在一行,而不是折行,对于内容比较少的列会自动压缩其所占空间。使用后表格内容分布会变得比较匀称,几乎不需要再行调整,或只需简单的微调即可达到理想的效果。

    2、根据窗口调整表格

        当表格所占内容较多,当前表格又比较小时可用,它能充分利用页面的宽度。或者当需要表格内容显示不要过于拥挤,让表格显得更加清爽,也可以用到它。

    二、使用快捷键调整表格

        当文档中出现数十个或数百个表格时,先要移动到要编辑表格上,再接着点每个表格的右键,然后移动到“自动调整”菜单,然后移动到根据内容/窗口调整表格菜单,最后点击执行调整,就会显得非常的耗时间了,能不能用快捷来实现一键调整呢。

    针对根据内容(或窗口)调整表格的功能,可以通过对功能autoFitContent(或autoFitWindow)设置快捷键来解决,步骤:

    1、先在MS WORD 工具栏空白处点右键,在弹出菜单中选择“自定义功能区”。

    2、在自定义功能区中,在窗口下方找到键盘快捷方式-自定义按钮并点击。

    3、在弹出窗口左侧框中找到类别:“表格工具|布局选项卡”,点击。

    4、在右侧框中找到命令:AutoFitContent(或AutoFitWindow)。

    5、点击请按快捷键输入框,输入快捷键,例如:Ctrl+F。

    6、保存,点“指定”按钮。

        做完以上步骤后,再在WORD中点选表格,按快捷键:Ctrl+F,你就发现表格瞬间调整完毕。

        这一招适合经常写文档的朋友。


    展开全文
  • 所以我们今天分享的VBA小代码的内容是:如何将Word文件的表格数据批量写入Excel?比如说,有一个Word文件,里面有十几张表格,现在急需将每个表格的数据复制到Excel,每个表格自成一份Sheet,关键是很不巧,你的秘书...

    有很多的小伙伴询问VBA多文件协同应用的问题,比如如何将Word的数据写入Excel?所以我们今天分享的VBA小代码的内容是:

    如何将Word文件的表格数据批量写入Excel?

    比如说,有一个Word文件,里面有十几张表格,现在急需将每个表格的数据复制到Excel,每个表格自成一份Sheet,关键是很不巧,你的秘书MISS李请假一个月回老家了……

    操作动画如下:

    475e9997dfd9b596d877996615c209e8.gif

    代码如下

    Sub GetWordTable()    Dim WdApp As Object    Dim objTable As Object    Dim objDoc As Object    Dim strPath As String    Dim shtEach As Worksheet    Dim shtSelect As Worksheet    Dim i As Long    Dim j As Long    Dim x As Long    Dim y As Long    Dim k As Long    Dim brr As Variant    Set WdApp = CreateObject("Word.Application")    With Application.FileDialog(msoFileDialogFilePicker)        .Filters.Add "Word文件", "*.doc*", 1        '只显示word文件        .AllowMultiSelect = False        '禁止多选文件        If .Show Then strPath = .SelectedItems(1) Else Exit Sub    End With    Application.ScreenUpdating = False    Application.DisplayAlerts = False    Set shtSelect = ActiveSheet    '当前表赋值变量shtSelect,方便代码运行完成后叶落归根回到开始的地方    For Each shtEach In Worksheets    '删除当前工作表以外的所有工作表        If shtEach.Name <> shtSelect.Name Then shtEach.Delete    Next    shtSelect.Name = "EH看见星光"    '这句代码不是无聊,作用在于……你猜……    '……其实是避免下面的程序工作表名称重复    Set objDoc = WdApp.documents.Open(strPath)    '后台打开用户选定的word文档    For Each objTable In objDoc.tables    '遍历文档中的每个表格        k = k + 1        Worksheets.Add after:=Worksheets(Worksheets.Count)        '新建工作表        ActiveSheet.Name = k & "表"        x = objTable.Rows.Count        'table的行数        y = objTable.Columns.Count        'table的列数        ReDim brr(1 To x, 1 To y)        '以下遍历行列,数据写入数组brr        For i = 1 To x            For j = 1 To y                brr(i, j) = "'" & Application.Clean(objTable.cell(i, j).Range.Text)                'Clean函数清除制表符等                '半角单引号将数据统一转换为文本格式,避免身份证等数值变形            Next        Next        With [a1].Resize(x, y)            .Value = brr            '数据写入Excel工作表            .Borders.LineStyle = 1            '添加边框线        End With    Next    shtSelect.Select    objDoc.Close: WdApp.Quit    Application.ScreenUpdating = True    Application.DisplayAlerts = True    Set objDoc = Nothing    Set WdApp = Nothing    MsgBox "共获取:" & k & "张表格的数据。"End Sub

    代码已有注释说明,这里就不再啰嗦了。

    特殊时期,小伙伴们尽量不要出门。闷了,就学习excel吧。

    展开全文
  • 在MS WORD中,当有大量的表格出现时,调整每个表格的的高和宽和大小将是一件非常累的事情,拖来拖去,非常耗时间,而且当WORD文档达到300页以上时,调整反应非常的慢,...表格的自动调整功能有根据内容调整表格和...

        在MS WORD中,当有大量的表格出现时,调整每个表格的的高和宽和大小将是一件非常累的事情,拖来拖去,非常耗时间,而且当WORD文档达到300页以上时,调整反应非常的慢,每次拖拉线后,需要等待一段时间其才完成调整,劳心劳力。

        其实解决这个问题有一个很好的办法,MS WORD做的这个功能确实不错,有一定的智能性。这个功能就是表格的自动调整功能。表格的自动调整功能有根据内容调整表格和根据窗口调整表格。

    一、表格根据内容自动调整

    1、根据内容调整表格

        主要利器之一,当表格比较凌乱,内容较少时,用它可以起到立即美化的作用,其会合理调整列宽,使包含英文字母或数字的项尽可能显示在一行,而不是折行,对于内容比较少的列会自动压缩其所占空间。使用后表格内容分布会变得比较匀称,几乎不需要再行调整,或只需简单的微调即可达到理想的效果。

    2、根据窗口调整表格

        当表格所占内容较多,当前表格又比较小时可用,它能充分利用页面的宽度。或者当需要表格内容显示不要过于拥挤,让表格显得更加清爽,也可以用到它。

    二、使用快捷键调整表格

        当文档中出现数十个或数百个表格时,先要移动到要编辑表格上,再接着点每个表格的右键,然后移动到“自动调整”菜单,然后移动到根据内容/窗口调整表格菜单,最后点击执行调整,就会显得非常的耗时间了,能不能用快捷来实现一键调整呢。

    针对根据内容(或窗口)调整表格的功能,可以通过对功能autoFitContent(或autoFitWindow)设置快捷键来解决,步骤:

    1、先在MS WORD 工具栏空白处点右键,在弹出菜单中选择“自定义功能区”。

    2、在自定义功能区中,在窗口下方找到键盘快捷方式-自定义按钮并点击。

    3、在弹出窗口左侧框中找到类别:“表格工具|布局选项卡”,点击。

    4、在右侧框中找到命令:AutoFitContent(或AutoFitWindow)。

    5、点击请按快捷键输入框,输入快捷键,例如:Ctrl+F。

    6、保存,点“指定”按钮。

        做完以上步骤后,再在WORD中点选表格,按快捷键:Ctrl+F,你就发现表格瞬间调整完毕。

        这一招适合经常写文档的朋友。

    转载于:https://www.cnblogs.com/firstdream/p/4884723.html

    展开全文
  • Dim oDoc As Document Dim oTable As Table Set oDoc = Documents.Open("D:\test1012.doc") '指定文件路径 ...oTable.AutoFitBehavior (wdAutoFitWindow) '根据窗口调整内容 Next MsgBox "完成!" End Sub
  • 之前介绍过用vba批量提取word中...思路和代码结构和之前提取word表格的差不多,核心代码如下图关于文字的提取,因为表格结构基本一致,可以用到word中Paragraphs的这个对象,即文档中的整行。SetWordD=.Documents...
  • 之前介绍过用vba批量提取word...思路和代码结构和之前提取word表格的差不多,核心代码如下图关于文字的提取,因为表格结构基本一致,可以用到word中Paragraphs的这个对象,即文档中的整行。SetWordD=.Documents.Open...
  • Sub CenterTable() Application.Browser.Target = wdBrowseTable For i = 1 To ActiveDocument.Tables.Count ... ActiveDocument.Tables(i).AutoFitBehavior (wdAutoFitWindow) '根据窗口调整内容 Ac...
  • 曾经贴报告附注的时候需要把各种数据粘贴到word中,其中最让我头疼的事情莫过于word中的格式调整、数字的千分符调整(挤着眼睛去打逗号)、还有把数字换算为万元,手工调整的时候就感觉自己是个呆瓜(当然此瓜非彼瓜...
  • word表格内容上下居中

    2020-04-28 17:31:03
    选中需要调整的表格单元。 右键-> 表格属性。 在单元格中,选择居中,如下图。 点击确定,即可实现表格内容上下居中。
  • 比如最近拿到了一个91页Word,里面有不少表格,具体数目不详,每个表格的宽度都不一样,有些宽,有些窄,如下面所示现在要把所有这些表格批量调整成统一的大小,如果手动,有91页,调整完估计要花不少时间。...
  • Word试题快速转换制作excel题库一、问题描述一些考证培训类的APP经常需要excel表格类型的题库,其结构如下图所示。从左往右分别是“题干”,“选项A”,“选项B”,“选项C”,“选项D”,“正确答案”,“解析”...
  • 在MS WORD中,当有大量的表格出现时,调整每一个表格的的高和宽和大小将是一件很累的事情,拖来拖去,很耗时间,并且当WORD文档达到300页以上时,调整反应很的慢,每次拖拉线后,须要等待一段时间其才完毕调整。...
  • Word调整表格大小

    2016-02-26 17:32:00
    Word文档中创建表格后,用户往往需要根据输入的内容调整表格的行高和列宽,有时也需要对整个表格的大小进行调整。  在选择的表格上右击,选择快捷菜单中的“自动调整”—“根据内容调整表格”命令,Word将根据...
  • 一、『问题引入』:手里有一个这样的Excel表格,还有一个Word文档模板。我们要把这个Excel表格中的信息依次写到Word模板。一行Excel信息生成一页文档。存储信息的Excel表格需要填入信息的Word文档模板如果手动一条...
  • 从网页或其他文档中复制表格到自己的word文档中时,表格列经常不能完全显示,列太宽,这时需要快速根据表格内容或文档窗口大小自动调整表格大小,操作如下: 点击表格中任意单元格 --> Layout(布局) --> ...
  • VBA 实践(1)——通过word vba 辅助修改大量pdf数据项目说明:有约1000页pdf的文件的数据需要修改。Pdf含文字层,可通过acrobat pro等编辑功能修改。修改要求为:将所有数据放大1.6倍,并替换原数据,字体字号位置等...
  • MOS考试是什么?大家可以自己搜索了解。有用没用,就更是见仁见智的问题了,我们就不在这里...今天的学习内容:WORD表格的数据排序跨页表格的每页都显示标题调整表格的行高和列宽设置表格内容的对齐方式文字转表格W...
  • 批量设置word表格根据窗口自动调整

    万次阅读 2018-07-25 18:56:57
    打开word文档,开发工具 &gt; 代码 &gt; 宏, 在弹出的窗口如下 宏名填写 www,然后点击创建,弹出窗口如下 删除窗口里的内容,直接把下面这段代码复制进去 Sub www() Dim oDoc As Document Dim ...
  • Word表格内容被遮挡

    2014-06-05 23:51:00
    RT,输入内容后下面的主任签字会被遮挡,解决办法:选中整个表格右键,表格属性,行高值设置为最小值,然后设置允许跨页断行;有人说右键按内容调整表格也行,没试过。。。。。。。。。。。。...
  • Word表格重要级别:★★★★(5星满)考点1创建表格插入表格,现有文本转表格,Delete-删除表格内容,Backspace-删除表格2编辑表格插入删除行列,合并拆分单元格,调整行高列宽,自动调整表格,文字对齐及方向,表格...
  • 表格原本的type属性是autofit(自动调整),如果需要固定表格的宽度,需要关闭自动重调尺寸适应内容,java代码为 CTTblLayoutType type = infoTable.getCTTbl().getTblPr().addNewTblLayout(); type.setType...
  • 如题。 原本想用WORD宏录制来查看代码的,但是启动宏录制后就无法用鼠标操作表格了,所以没法找到设置表格样式的代码。 请高手指点,无法感谢!
  • 写着写着后面的字被吃掉了,插入的图片不见了一半,插入的新图把表格样式给挤掉了,两页表格中间有很多空白等等一大堆的问题,调整表格的时间比我填表格的时间还长呢有了这些方法就可以快速解决Word表格的填写问题:...
  • 应用背景有时候,我们会遇到word里面有多个表格需要合并,比如一些内容相同或相关的表格,往往就需要合并。这些表格可能尺寸各异,列数相同或不同。合并之后,往往表格的竖线是不对齐的,如下图红圈所示。如果不知道...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 287
精华内容 114
关键字:

word表格内容调整