【问题标题】:Open and save Word doc with Excel VBA doesn't work使用 Excel VBA 打开和保存 Word 文档不起作用
【发布时间】:2015-11-04 01:08:06
【问题描述】:

我想打开一个 Word 文档,从我的 Excel 文件中粘贴数据,然后保存该 Word 文档。

打开 Word 并粘贴数据可以正常工作,但由于 "ChDir "C:\My Documents\" 行存在问题,因此无法保存文件。

我在这里错过了什么?

Sub macro()

Dim WordApp As Word.Application
Dim WordDoc As Word.Document

Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
WordApp.Activate

Set WordDoc = WordApp.Documents.Add

Range("A1:C33").Copy

WordApp.Selection.PasteSpecial Link:=False, DataType:=wdPasteRTF, _Placement:=wdInLine, DisplayAsIcon:=False

WordDoc.PageSetup.LeftMargin = CentimetersToPoints(1.5)
WordDoc.PageSetup.TopMargin = CentimetersToPoints(1.4)
WordDoc.PageSetup.BottomMargin = CentimetersToPoints(1.5)

ChDir "C:\My Documents\Test"
ActiveDocument.SaveAs "Archief" & Format(Now, "yyyymmdd") & ".docx"

Set WordDoc = Nothing
Set WordApp = Nothing

End Sub

【问题讨论】:

  • 文件夹是否存在?
  • 我认为您可能需要使用环境变量“userprofile”来访问此文件夹,例如MsgBox Environ("userprofile") & "\My Documents" 应该显示我的文档的路径。然后Dim Mypath as string MyPath = Environ("userprofile") & "\My Documents\Test" chDir myPath 将替换您的ChDir

标签: vba excel


【解决方案1】:

创建一个包含文件路径和名称的变量会更容易,如下所示:

Dim FileFullName As String

FileFullName = Environ("userprofile") & "\My Documents\Test" & "\" & "Archief" & Format(Now, "yyyymmdd") & ".docx"
ActiveDocument.SaveAs FileFullName

【讨论】:

    【解决方案2】:

    试试这个:

    Dim FileName2        As String
    
    Set appWrd = CreateObject("Word.Application")
    
       appWrd.DisplayAlerts = False
        FileName2 = Document.Path & "\" & ".docx"
        appWrd.ActiveDocument.SaveAs FileName:=FileName2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多