我在ms-word
2007上遇到了这个荒谬的问题。我的大部分宏都按照预期工作,但方向似乎无法保留。我使用VBA将其设置为横向,但它将始终返回到纵向。如果我在此行之后直接进入代码,文档 IS 处于横向状态,但只要我在文档中单击一次,它就会回到纵向。
你们是否知道为什么会这样?我似乎无法在Google上找到任何有此错误的人。
Option Explicit
Sub créer_rapport()
Dim wdApp As Word.Application
Dim wdDoc As Word.Document
Set wdApp = New Word.Application
wdApp.Visible = True
Set wdDoc = wdApp.Documents.Open(Range("path_fichier").Value)
wdApp.Selection.WholeStory
wdApp.Selection.Font.Name = "Courier New"
wdApp.Selection.Font.Size = 7
wdDoc.PageSetup.Orientation = wdOrientLandscape
wdDoc.PageSetup.PaperSize = wdPaperLegal
wdDoc.SaveAs ActiveWorkbook.Path & "\test2", wdFormatXMLDocument
Do While wdApp.Selection.Find.Execute("Merge")
wdApp.Selection.MoveUp wdLine, 1
wdApp.Selection.InsertBreak wdPageBreak
wdApp.Selection.MoveDown wdLine, 2
Loop
With wdDoc
.SaveAs (ActiveWorkbook.Path & "\test")
.Close (True)
End With
wdApp.Quit False
End Sub
这就是我的宏(现在)。
(哦,你可以突出不好的风格,这是我第一次为Word做VBA宏(我一直在Excel中做它们))
谢谢!
答案 0 :(得分:3)
而不是:
wdDoc.PageSetup.Orientation = wdOrientLandscape
试试这个:
Selection.PageSetup.Orientation = wdOrientLandscape