自动更改Excel和打印的页面布局方向

时间:2016-10-26 15:16:10

标签: excel vba excel-vba

我使用openxlsx包在R生成一堆excel工作簿,每个工作簿都有一个工作表。现在打印出这些,我必须打开这些文件中的每一个,转到页面布局>定位>横向,然后转到文件>打印>缩放>在一页上安装所有列,然后打印它。它变得非常乏味,特别是当我生成超过200个excel文件时。有没有办法自动化这个?我看过的R个软件包似乎没有办法做到这一点,而且我对所有语言/工具都开放。

1 个答案:

答案 0 :(得分:1)

我想说最好的方法是记录大部分你想要的宏(方向和打印),然后使用VBA打开每个文件调用你记录的宏,然后关闭文件一旦它已被印刷。

Sub Macro()
Dim fpath As String

fpath = Worksheets("Sheet1").Range("H4").Value 

'I use a file that has a file path cell which helps with dealing with lots of sheets

.DisplayAlerts = False
.ScreenUpdating = False

Workbooks.Open Filename:= _
    fpath & "\" & "Test File.xlsx"
    Sheets("Sheet1").Select
   'Call the macro at this point 
    Windows("Test File.xlsx").Activate
    ActiveWorkbook.Close

.DisplayAlerts = True
.ScreenUpdating = True

End Sub

我很快测试了它,它似乎对我很有效。

但是可能有一种更简单的方法可以解决这个问题,但这就是我如何处理它