俞木發

對于超過A4頁面的文檔,如果需要將內容打印在一張A4紙上,我們可以先在Excel中依次切換到“視圖→頁面布局”,然后再切換到“視圖→普通”,這樣在當前頁面就會使用虛線顯示A4紙的范圍,可以看到文檔的右側超出A4范圍(圖1)。
如果要在一張A4紙上打印上述文檔,切換到打印預覽窗口后在“設置”欄的下方選擇“將工作表調整為一頁”,這樣就可以將文檔縮為符合A 4 紙打印的樣式了。不過需要注意的是,這里對文檔進行縮放,A5、A6列的內容(即戶口所在地和常年居住地址)變成堆疊在一起無法完全顯示,因此我們還要進行再次調整(圖2)。
因為所有工作表的結構都是一樣的,所以為了調整的方便,可以錄制一個宏(設置快捷鍵為“Ct rl +W”),宏的內容是調整A列的列寬到合適的位置,使得打印預覽后可以完全顯示單元格的內容。然后將宏保存到“個人宏工作簿”,這樣打開其他的文檔后,按下“Ctrl+W”即可實現批量調整,完成調整后再進行打印即可打印在一張A4紙上了(圖3)。
上面的操作僅是在打印時進行縮放操作,如果需要批量將文檔轉換為A4樣式顯示,那么我們可以借助VBA腳本實現。先將所有需要調整的文件全部放置在一個目錄下,打開其中的任意一個文檔,同上使用錄制宏(假設宏名為“aa”)的方法對文檔的列寬進行調整,使得文檔內容正好顯示在A4區域中。
接下來到“https://share.weiyun.com/7JJxgtr4”下載所需的代碼文件,按下“Alt+F11”組合鍵,然后點擊“插入→模塊”,將下載的代碼粘貼到代碼框中,再打開上述錄制的宏aa,將其中類似“Columns("G:G").ColumnWidth=2.13”的調整列寬代碼粘貼到“sht.PageSetup.PaperSize=xlPaperA4”和“Next”之間(圖4)。
這樣只要運行此代碼,便會依次自動打開目錄下的所有文檔并自動調整列寬,使得文檔的內容正好在A4紙的區域之內。