标题:新手求助:Excel VBA 导出 Word 出错
只看楼主
wjs9
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2022-5-19
 问题点数:0 回复次数:1 
新手求助:Excel VBA 导出 Word 出错
提示如图。
出错代码:ChangeFileOpenDirectory
系统:Win7旗舰版64位,Office2016 64位。

网上找的原代码:
Sub XM()
    ' 打开 調査報告-1.xlsx 文件
    Dim MyFile As Object
    Set MyFile = CreateObject("Scripting.FileSystemObject")
   
    Dim FilePath As String
    FilePath = ActiveDocument.Path & "\調査報告-1.xlsx"
   
    ' 如果不存在 調査報告-1.xlsx 文件
    If Not MyFile.FileExists(FilePath) = False Then
        ' 退出
        MsgBox "无法找到文件: 調査報告-1.xlsx", Title:="Error"
        Exit Sub
    End If
   
    ' 读取 調査報告-1.xlsx 文件
    Dim ExcelObject As Object
    Set ExcelObject = GetObject(FilePath)
    Set Table = ExcelObject.Sheets(1).UsedRange()

' 循环
    For i = 2 To Table.Rows.Count
        ' 清空变量
        For Each Var In ActiveDocument.Variables
            Var.Delete
        Next
        
        ' 添加一个名字为 住所 的变量,它的值是 調査報告-1.xlsx 中第 i 行第 5 列的内容
        ActiveDocument.Variables.Add Name:="住所", Value:=Table.Cells(i, 5).Text
        
        ' 更新 Word 文档
        ActiveDocument.Fields.Update
        
        ' 设置保存目录
        ChangeFileOpenDirectory ActiveDocument.Path
        ChangeFileOpenDirectory "G:\E-VBA\Documents"
        Documents.Open Filename:="住所.doc"

        ' 保存文件,文件名为:住所.docx
        ActiveDocument.SaveAs2 Filename:=Table.Cells(i, 5).Text & ".docx", FileFormat:= _
            wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
            :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
            :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
            SaveAsAOCELetter:=False, CompatibilityMode:=15
    Next
End Sub
搜索更多相关主题的帖子: Word Table 文件 False 出错 
2022-05-25 21:06
厨师王德榜
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:183
帖 子:942
专家分:4724
注 册:2013-2-16
得分:0 
这段 代码你是粘贴在excel中还是粘贴在word中 运行的 ?
其次 ,If not MyFile.FileExists(FilePath) = False Then 这句你自己琢磨琢磨,这个not 是不是多余?
最后 ,在 Next 这句前,加一句  ActiveDocument.Close 更合理.
   

[此贴子已经被作者于2022-6-10 14:21编辑过]

2022-06-10 14:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509175-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.327395 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved