qq54007 发表于 2018-7-11 15:52

word引用Excel数据出格式文档备忘

word引用Excel数据功能备忘

1 研究格式word文档,建立excel数据

1.1 如果原文档是Excel格式,新建空白word,全选后粘贴进去.此时格式会比较乱,不要担心,首先看下Excel打印的页边距,对应修改word部分的页边距.其次修改

对应表格的列宽和行高.
1.2 研究需要变化的部分文字(金额\日期\编号等)对应位置在Excel标题栏输入对应的标题,并输入1-2行示例数据

2 word合并邮件

2.1 word选取"邮件"选项卡,然后点击选择收件人选项,选取对应位置的Excel,


3 在对应位置插入对应的合并域

3.1 word邮件合并小数点问题:先按Alt+F9切换到域代码模式, 使用"#"数字图片开关,可保留统一的小数位数, 如{ MERGEFIELD "合并域" #"0.00" },可将"

合并域"字段的所有数据保留小数点后2位小数。
3.2 大写日期{MERGEFIELD 日期 \@"EEEE年O月A日 }
    中文日期{MERGEFIELD 日期 \@"yyyy年MM月dd日 }
3.3 中文大写数字建议在Excel中直接加一列,公式如下:
    =SUBSTITUTE(SUBSTITUTE(IF(-RMB(M2),TEXT(M2,";负")&TEXT(INT(ABS(M2)+0.5%),"G/通用格式元;;")&TEXT(RIGHT(RMB(M2),2),"0角0

分;;整"),),"零角",IF(M2^2<1,,"零")),"零分","整")




附录:
    至于使用宏的偏方个人未实践,网络上找到的命令如下
    word自动转换大写金额宏


'自定义函数 NTDX 将数字金额转换为财务要求的大写金额(NTDX:Number To DaXie)
Public Function NTDX(A As Variant)
    Set Excel = CreateObject("excel.Application") '在 Word 中引用 Excel 程序, 然后可使用 Excel 程序中的工作表函数
    If A = "" Or Not IsNumeric(A) Then
      MsgBox "请确认金额是否 【为空】 或是否为【非数值】", Title:="Error"
      Exit Function ' 沒有或非数值则结束
    End If
    A = Round(A, 2) '将所需转换的数值保留 2 位小数
    B = Excel.Text(Int(A), "") & "元" ' 取整数部分,如 1.23,转换为 壹元
    C = Excel.Text(A, "") ' 全数转换为大写 如 1.23 转换为 壹.贰叁 123 转换为 壹贰叁
    If InStr(C, ".") = 0 Then '在 C 中查找是否有小数点,无直接取整
      NTDX = B & "整" '将结果返回给函数自身
    Else
      D = Left(Right(C, 2), 1) '取 C 最后两位的第 1 位,可以包含小数点 如:壹.[贰]叁 壹[.]贰 壹.[零]壹
      E = Right(C, 1) '取 C 最后 1 位,可以包含小数点 如:如:壹.贰[叁] 壹.[贰]
      If D = "." Then '如果 C 最后两位的第 1 位为小数点,则为 元角整 壹元贰角整
            NNTDX = B & E & "角整" '将结果返回给函数自身
      Else
            If D <> "零" Then F = "角" '如果 C 最后两位的第 1 位不为零,则加上 角 和 分
            NTDX = B & D & F & E & "分" '将结果返回给函数自身
      End If
    End If
End Function


NCpiro 发表于 2018-7-11 17:12

看不懂~~~~~~~~~~~~~~~~~~~

qq54007 发表于 2018-7-12 17:01

NCpiro 发表于 2018-7-11 17:12
看不懂~~~~~~~~~~~~~~~~~~~

打印固定格式文档,填充不同数据的时候用得到
页: [1]
查看完整版本: word引用Excel数据出格式文档备忘