WORD自動化文件設計範例:聯絡簿範本| 十年磨一劍 - - 點部落

文章推薦指數: 80 %
投票人數:10人

然後點選[增益集]\[自訂工具列]\[複製訊息],巨集程式自動將訊息複製貼到表格中所有格子(如下),使用者就不用複製貼上那麼多次。

image. 巨集程式碼如下. WORD自動化文件設計範例:聯絡簿範本 現在的國中生雖然已經在學校很多年,但是要他們抄個聯絡簿還是落東落西,經常重要的訊息不是沒寫到就是寫錯。

很多導師只好用小學一二年級的方法,把重要訊息用電腦打字,全班有幾位學生就複製貼上幾個,作成一張列印出來(如下圖),再請學生裁剪貼在聯絡簿上。

這件工作看起來是小事一件,但是每天如果都要複製貼上二三十次也是有點煩。

雖然我不是導師,但是因為我負責升學報名的業務,最近一堆升學相關的重要訊息,要麻煩導師轉知家長學生,為了減輕導師端的負荷,只好我自己來做要貼聯絡簿的資料,作成一張然後複印27份給九年級各班導師。

這種事做兩次就有點煩,就乾脆設計一個WORD巨集範本(範本下載連結),這個範本的功能很簡單,使用者下載檔案解壓縮之後,只要用滑鼠點範本檔案(聯絡簿範本.dotm)兩下,自動會啟動WORD,並以此範本新增一個WORD檔案,內容如下: 使用者只要依提示在表格的第一格輸入要通知家長的訊息,然後點選[增益集]功能區,會看到[自訂工具列]中會出現[複製訊息]這個按鈕,只要按這個按鈕,範本中的巨集程式自動會將第1格的內容複製貼到其它格子中。

舉例我要通知學生家長模擬選填的起迄時間,我在表格的第一格輸入以下內容     然後點選[增益集]\[自訂工具列]\[複製訊息],巨集程式自動將訊息複製貼到表格中所有格子(如下),使用者就不用複製貼上那麼多次。

    巨集程式碼如下 '作者:楊煥謀20140225 Subt() DimiAsLong,jAsLong DimcAsLong DimrAsLong ActiveDocument.Tables(1).Select c=ActiveDocument.Tables(1).Columns.Count r=ActiveDocument.Tables(1).Rows.Count Fori=1Toc Forj=1Tor ActiveDocument.Tables(1).Columns(1).Cells(1).Select Selection.Copy ActiveDocument.Tables(1).Columns(i).Cells(j).Select Selection.Paste Nextj Nexti EndSub Subaddmain() OnErrorResumeNext DimobCommandbarAsCommandBar DimnewItemI1AsCommandBarButton SetobCommandbar=ActiveDocument.CommandBars.Add(Name:="聯絡簿",Position:=msoBarTop,Temporary:=False) obCommandbar.Visible=True SetnewItemI1=obCommandbar.Controls.Add(Type:=msoControlButton,Temporary:=False) WithnewItemI1 .Caption="複製訊息" .Enabled=True .BeginGroup=True .Style=msoButtonWrapCaption .OnAction="t" EndWith SetobCommandbar=Nothing SetnewItemI1=Nothing EndSub Subdc() OnErrorResumeNext ActiveDocument.CommandBars("聯絡簿").Delete EndSub 注意事項: 1.現在的班級人數大概是30人左右,範本的格子數目為32,版面是B4大小,使用者可以依照需要修改表格的欄列數目,或變更版面大小,但是記得程式只針對文件中第一個表格進行操作。

2.範本是在WORD2010撰寫,要用於WORD2003,請開啟範本利用另存新檔的功能儲存範本為2003的範本格式。

     歡迎引用,請注明來源出處! 作者:楊煥謀       Office2010VBA程式 回首頁



請為這篇文章評分?