ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 热浪2006

[原创] ●★将Excel数据写入Word模板★●

    [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-9 14:13 | 显示全部楼层
本帖已被收录到知识树中,索引项:Word协同
原帖由 ndt3 于 2009-11-9 11:53 发表


什么问题?

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-11 09:43 | 显示全部楼层
回复网友问题:

射线检测报告.rar

34.43 KB, 下载次数: 527

TA的精华主题

TA的得分主题

发表于 2009-11-11 14:01 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-12 09:54 | 显示全部楼层
简化了复制续表代码:
  1. Private Sub CommandButton转换为Word表格_Click()
  2.    Dim Word对象 As New Word.Application, 当前路径, 导出文件名, 导出路径文件名, 最后行号, i, j, 页数, Word续表行号
  3.    当前路径 = ThisWorkbook.Path

  4.    FileCopy 当前路径 & "\射线检测报告(模板).doc", Sheets("第1页").Range("X2") & "" & Sheets("第1页").Range("J2") & ".doc"
  5.    导出路径文件名 = Sheets("第1页").Range("X2") & "" & Sheets("第1页").Range("J2") & ".doc"
  6.    
  7.    最后行号 = Sheets("第2页").Range("A65536").End(xlUp).Row
  8.    If (最后行号 - 4) Mod 26 <> 0 Then
  9.       页数 = (最后行号 - 4) \ 26 + 2
  10.    Else
  11.       页数 = (最后行号 - 4) \ 26 + 1
  12.    End If
  13.    With Word对象
  14.       .Documents.Open 导出路径文件名
  15.       .Visible = False
  16.       
  17.       If 页数 > 2 Then '复制粘贴续页
  18.          .Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:="2" '定位到第2页
  19.          .Selection.EndKey Unit:=wdStory, Extend:=wdExtend
  20.          .Selection.Copy '复制
  21.          For i = 1 To 页数 - 2 '粘贴
  22.             .Selection.MoveLeft Unit:=wdCharacter, Count:=1
  23.             .Selection.PasteAndFormat (wdPasteDefault)
  24.             .Selection.TypeBackspace
  25.             .Selection.EndKey Unit:=wdStory, Extend:=wdExtend
  26.          Next i
  27.       End If
  28.    
  29.       '第1页表格:Tables(1)
  30.       .ActiveDocument.Tables(1).Cell(1, 2).Range = Sheets("第1页").Range("D2") '施工单位名称
  31.       .ActiveDocument.Tables(1).Cell(1, 4).Range = Sheets("第1页").Range("J2") '报告编号
  32.       .ActiveDocument.Tables(1).Cell(1, 5).Range = "第1页  共" & 页数 & "页" '页码
  33.       .ActiveDocument.Tables(1).Cell(2, 2).Range = Sheets("第1页").Range("D3") '单位工程名称
  34.       .ActiveDocument.Tables(1).Cell(2, 4).Range = Sheets("第1页").Range("S3") '工程编号
  35.       .ActiveDocument.Tables(1).Cell(3, 2).Range = Sheets("第1页").Range("B4") '检测日期
  36.       .ActiveDocument.Tables(1).Cell(3, 4).Range = Sheets("第1页").Range("L4") '桩号
  37.       .ActiveDocument.Tables(1).Cell(3, 6).Range = Sheets("第1页").Range("V4") '规格
  38.       .ActiveDocument.Tables(1).Cell(4, 2).Range = Sheets("第1页").Range("B5") '材质
  39.       .ActiveDocument.Tables(1).Cell(4, 4).Range = Sheets("第1页").Range("L5") '设备名称型号
  40.       .ActiveDocument.Tables(1).Cell(4, 6).Range = Sheets("第1页").Range("V5") '焦点尺寸
  41.       .ActiveDocument.Tables(1).Cell(5, 2).Range = Sheets("第1页").Range("B6") '透照方式
  42.       .ActiveDocument.Tables(1).Cell(6, 2).Range = Sheets("第1页").Range("B7") '源的种类
  43.       .ActiveDocument.Tables(1).Cell(6, 4).Range = Sheets("第1页").Range("O7") '焦距
  44.       .ActiveDocument.Tables(1).Cell(6, 6).Range = Sheets("第1页").Range("V7") '胶片型号
  45.       .ActiveDocument.Tables(1).Cell(7, 2).Range = Sheets("第1页").Range("B8") '胶片尺寸
  46.       .ActiveDocument.Tables(1).Cell(7, 4).Range = Sheets("第1页").Range("M8") '像质计型号
  47.       .ActiveDocument.Tables(1).Cell(7, 6).Range = Sheets("第1页").Range("U8") '像质计位置
  48.       .ActiveDocument.Tables(1).Cell(8, 1).Range = Sheets("第1页").Range("A9") '管电压
  49.       .ActiveDocument.Tables(1).Cell(8, 2).Range = Sheets("第1页").Range("E9") '管电流
  50.       .ActiveDocument.Tables(1).Cell(8, 3).Range = Sheets("第1页").Range("N9") '源强
  51.       .ActiveDocument.Tables(1).Cell(8, 4).Range = Sheets("第1页").Range("T9") '曝光时间
  52.       .ActiveDocument.Tables(1).Cell(9, 2).Range = Sheets("第1页").Range("C10") '胶片处理
  53.       .ActiveDocument.Tables(1).Cell(9, 3).Range = Sheets("第1页").Range("K10") '显影时间
  54.       .ActiveDocument.Tables(1).Cell(9, 4).Range = Sheets("第1页").Range("S10") '显影温度
  55.       .ActiveDocument.Tables(1).Cell(10, 2).Range = Sheets("第1页").Range("C11") '增感屏
  56.       .ActiveDocument.Tables(1).Cell(10, 4).Range = Sheets("第1页").Range("R11") '显影配方
  57.       .ActiveDocument.Tables(1).Cell(11, 2).Range = Sheets("第1页").Range("D12") '底片黑度
  58.       .ActiveDocument.Tables(1).Cell(11, 4).Range = Sheets("第1页").Range("R12") '标准级别
  59.       .ActiveDocument.Tables(1).Cell(12, 2).Range = Sheets("第1页").Range("C13") '检测数量
  60.       .ActiveDocument.Tables(1).Cell(12, 4).Range = Sheets("第1页").Range("L13") '返修数量
  61.       .ActiveDocument.Tables(1).Cell(12, 6).Range = Sheets("第1页").Range("U13") '一次合格率
  62.      
  63.       For j = 2 To 页数 '第j页表格:Tables(j)
  64.          .ActiveDocument.Tables(j).Cell(1, 2).Range = Sheets("第2页").Range("B2") '报告编号
  65.          .ActiveDocument.Tables(j).Cell(1, 3).Range = "第" & j & "页  共" & 页数 & "页" '页码
  66.          Word续表行号 = 3
  67.          For i = (j - 2) * 26 + 5 To (j - 2) * 26 + 30  '最后行号
  68.             .ActiveDocument.Tables(j).Cell(Word续表行号, 1).Range = Sheets("第2页").Range("A" & i) '焊口编号
  69.             If Len(Sheets("第2页").Range("A" & i)) > 31 Then
  70.                .ActiveDocument.Tables(j).Cell(Word续表行号, 1).Range.Font.Size = 7 '改变字号
  71.             End If
  72.             .ActiveDocument.Tables(j).Cell(Word续表行号, 2).Range = Sheets("第2页").Range("B" & i) '透照长度
  73.             .ActiveDocument.Tables(j).Cell(Word续表行号, 3).Range = Sheets("第2页").Range("C" & i) '缺欠性质
  74.             .ActiveDocument.Tables(j).Cell(Word续表行号, 4).Range = Sheets("第2页").Range("D" & i) '缺欠尺寸及当量
  75.             .ActiveDocument.Tables(j).Cell(Word续表行号, 5).Range = Sheets("第2页").Range("E" & i) '缺欠位置
  76.             .ActiveDocument.Tables(j).Cell(Word续表行号, 6).Range = Sheets("第2页").Range("F" & i) '评定结果
  77.             .ActiveDocument.Tables(j).Cell(Word续表行号, 7).Range = Sheets("第2页").Range("G" & i) '备注
  78.             If Len(Sheets("第2页").Range("G" & i)) > 4 Then
  79.                .ActiveDocument.Tables(j).Cell(Word续表行号, 7).Range.Font.Size = 8 '改变字号
  80.             End If
  81.             Word续表行号 = Word续表行号 + 1
  82.         Next i
  83.      Next j
  84.    End With
  85.    Word对象.Documents.Save
  86.    Word对象.Quit
  87.    Set Word对象 = Nothing
  88.    i = MsgBox("已转换为 " & 导出路径文件名 & " 文件!", 0 + 48 + 256 + 0, "提示:")
  89. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2009-11-12 22:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
搞定了!谢谢热浪大哥了!

TA的精华主题

TA的得分主题

发表于 2009-11-12 22:23 | 显示全部楼层

出错了 请指教

出错了 请指教
2009-11-12 22-22-54.png

TA的精华主题

TA的得分主题

发表于 2009-11-13 15:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
思路挺好,学习中

TA的精华主题

TA的得分主题

发表于 2009-11-14 16:24 | 显示全部楼层

形成公文处理(热浪回复)能做成分发版吗?

形成公文处理(热浪回复)模板很好,但如能做成分发版,即每单位为一个单独文件,那就更好。

[ 本帖最后由 lyllc2002 于 2009-11-14 20:34 编辑 ]

形成公文处理(热浪回复).rar

17.14 KB, 下载次数: 209

TA的精华主题

TA的得分主题

发表于 2009-11-15 21:31 | 显示全部楼层

好,但用于财务分析方面如何?

相关材料真是太好了,但是如果用到财务分析报告中能否使用,我看了很多财务分析软件也具有此项功能,但我只能用EXCEL做好相关分析,但不能生成文字材料,下一步我将继续学习该部份内容,以求用于实际。

TA的精华主题

TA的得分主题

发表于 2009-11-16 23:37 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 10:09 , Processed in 0.035474 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表