【发布时间】:2017-12-08 07:40:41
【问题描述】:
我想将我的工作簿(所有工作表)保存为一个 Word 文档。 一张是文档中的一页。
我只找到保存 activeSheet 的代码。
Sub ExcelToWord()
Dim ws As Worksheet
Set ws = ActiveSheet
Dim objWd As Object
Set objWd = CreateObject("word.application")
objWd.Visible = True
Dim objDoc As Object
Set objDoc = objWd.Documents.Add
objDoc.PageSetup.Orientation = 1 ' portrait = 0
Application.ScreenUpdating = False
ws.UsedRange.Copy
objDoc.Content.Paste
Application.CutCopyMode = False
Application.DisplayAlerts = False
objDoc.SaveAs (Application.ThisWorkbook.Path & "\dokument.docx")
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
感谢您的回复。
【问题讨论】:
-
代码似乎只是在进行复制/粘贴,因此只需在进行保存之前遍历每个工作表进行复制/粘贴。
-
是的,我也这么认为,但我的脚本只保存最后一页(工作表)。 n = Sheets.Count For i = 1 To n Sheets(i).UsedRange.Copy objDoc.Content.Paste Next i