Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2059|回复: 3

[已解决]代码报错,请老师们给个解答,修改些代码。谢谢!

[复制链接]
发表于 2016-3-28 19:06 | 显示全部楼层 |阅读模式
本帖最后由 1261181315a 于 2016-3-29 12:40 编辑

代码报错,请老师们给个解答,修改些代码。谢谢!
最佳答案
2016-3-28 20:23
Sub f()
    Dim arr, i%
    Dim xlapp, adoc, X
    arr = Range("A1").CurrentRegion
    Set xlapp = CreateObject("word.application")   ' 打开w程序
    xlapp.Visible = True
    For i = 2 To UBound(arr)
        Set adoc = xlapp.Documents.Open(ThisWorkbook.Path & "\信息.doc")
        With adoc
            With .tables(1)
                .Cell(1, 2).Range = arr(i, 1)
                .Cell(1, 4).Range = arr(i, 2)
                .Cell(1, 6).Range = arr(i, 4)
                .Cell(2, 2).Range = arr(i, 3)
                .Cell(2, 4).Range = arr(i, 10)
                .Cell(2, 6).Range = arr(i, 8)
                .Cell(3, 2).Range = arr(i, 7)
                .Cell(3, 4).Range = arr(i, 6)
                .Cell(3, 6).Range = arr(i, 5)
                .Cell(4, 2).Range = arr(i, 11)
                .Cell(4, 4).Range = arr(i, 12)
                .Cell(5, 2).Range = arr(i, 9)
            End With
            .Save
            .SaveAs Filename:=ThisWorkbook.Path & "\" & arr(i, 1) & ".doc"
            .Close True
        End With
    Next
    Set adoc = Nothing
    xlapp.Quit
    Set xlapp = Nothing
End Sub
代码报错.png

材料含代码.rar

17.22 KB, 下载次数: 13

发表于 2016-3-28 19:15 | 显示全部楼层
wef23f.gif

我这里试了,没报错。
另外,你那里的引用,勾了么,如图
回复

使用道具 举报

发表于 2016-3-28 20:23 | 显示全部楼层    本楼为最佳答案   
Sub f()
    Dim arr, i%
    Dim xlapp, adoc, X
    arr = Range("A1").CurrentRegion
    Set xlapp = CreateObject("word.application")   ' 打开w程序
    xlapp.Visible = True
    For i = 2 To UBound(arr)
        Set adoc = xlapp.Documents.Open(ThisWorkbook.Path & "\信息.doc")
        With adoc
            With .tables(1)
                .Cell(1, 2).Range = arr(i, 1)
                .Cell(1, 4).Range = arr(i, 2)
                .Cell(1, 6).Range = arr(i, 4)
                .Cell(2, 2).Range = arr(i, 3)
                .Cell(2, 4).Range = arr(i, 10)
                .Cell(2, 6).Range = arr(i, 8)
                .Cell(3, 2).Range = arr(i, 7)
                .Cell(3, 4).Range = arr(i, 6)
                .Cell(3, 6).Range = arr(i, 5)
                .Cell(4, 2).Range = arr(i, 11)
                .Cell(4, 4).Range = arr(i, 12)
                .Cell(5, 2).Range = arr(i, 9)
            End With
            .Save
            .SaveAs Filename:=ThisWorkbook.Path & "\" & arr(i, 1) & ".doc"
            .Close True
        End With
    Next
    Set adoc = Nothing
    xlapp.Quit
    Set xlapp = Nothing
End Sub
回复

使用道具 举报

发表于 2016-3-28 20:24 | 显示全部楼层
跟我一样写,规规矩矩的,一定不会报错。
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-7 17:25 , Processed in 0.364660 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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