ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 热门 - Power BI数据分析与可视化实战 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
Python自动化办公应用大全 Excel 2021函数公式学习大典 Kutools for Office 套件发布 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 百度秒哒 - 无代码应用搭建平台 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1056|回复: 0

[求助] 使用excel导入word书签位置,循环语句提示集合所要求的成员不存在

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-11-1 02:10 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
为什么已经有
With .Documents.Open(sPath & "2017年模板.docx")
。。。
end with
却提示成员不存在,我估计是因为另存为以后激活文件定在另存为的文件了,另存为的文件中是没有书签的,但是with 和 end with 中的语句不是应该是默认激活“2017年模板”吗。应该怎么做,求助大神                    

Sub 根据Excel信息批量生成对应的Word方案()
    Dim sPath       As String          '文档路径
    Dim ArrPos()                       '记录位置对应关系的数组
    Dim Arr                            '存储花名册信息的数组
    Dim i, j        As Integer         '循环变量
    sPath = ThisWorkbook.Path & "\"    '记录Excel文件路径
    ArrPos = [{2,1;4,2;6,3;8,4;10,5;12,6}]    '记录Excel表格列次与Word表格位置的对应关系
   With CreateObject("Word.Application")           '创建Word程序对象
       With .Documents.Open(sPath & "2017年模板.docx")    '打开模板文档
            Arr = Sheets("sheet2").Range("A1").CurrentRegion.Value    '读取花名册信息
            Application.DisplayAlerts = False        '禁止显示提示和警告消息
            For i = 2 To UBound(Arr)               '循环花名册信息数组
                .Bookmarks("工程名称1").Range.Text = Arr(i, 1)
                .Bookmarks("工程名称2").Range.Text = Arr(i, 1)
                .Bookmarks("方案编号").Range.Text = Arr(i, 7)
               ' .Range(20, 24).Text = Left(Arr(i, 21) & "    ", 4)    '在Word模板文档第2段写入年份
                With .tables(1)                                       '引用文档中的表格
                    For j = 1 To UBound(ArrPos)                       '循环对应关系数组
                        .Range.Cells(ArrPos(j, 1)).Range.Text = Arr(i, ArrPos(j, 2))    '将数组相应信息根据对应关系填入Word表格
                    Next j
                End With
                .SaveAs sPath & Arr(i, 1)  & ".doc"    '按姓名另存当前文档
            Next i
             Application.DisplayAlerts = True          '允许显示提示和警告消息
            .Close -1                                 '关闭并保存最后一个文档
        End With
        .Quit                                         '退出Word程序
    End With
    MsgBox "生成完毕!", vbInformation, "xqoa"        '结束消息提示
End Sub




您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2026-4-10 18:25 , Processed in 0.018752 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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