国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

巧用VBA自動處理Word表格

2019-11-18 17:37:37
字體:
來源:轉載
供稿:網友
MicrosoftWord97是大家熟悉的文字處理軟件,強大的功能為我們的工作提供了很大的幫助。而VisualBasicforapplications(VBA)的應用更為Word97增添了不少特色,合理而恰當地使用VBA可為用戶提供極大的方便。下面介紹幾則使用VBA編程自動處理Word表格的例子。
  1.創建表格,插入文字
  本例的功能是在文檔開頭插入一張3行4列的表格。可用ForEach...Next結構來循環遍歷表格中的每個單元格。在ForEach...Next結構中,InsertAfter方法用來向表格單元格添加文字("第1單元格"、"第2單元格"等等),oTable.AutoFormat屬性用于指定表格套用格式。運行結果如圖1:
@@0869600.JPG;圖1@@
  SetoDoc=ActiveDocument
  SetoTable=oDoc.Tables.Add(Range:=oDoc.Range(Start:=0,End:=0),NumRows
:=3,NumColumns:=4)
  iCount=1
  ForEachoCellInoTable.Range.Cells
  oCell.Range.InsertAfter"第"&iCount&"單元格"
  iCount=iCount 1
  NextoCell
  oTable.AutoFormatFormat:=wdTableFormatColorful2,ApplyBorders:=True,App
lyFont:=True,ApplyColor:=True
  2.在表格的列、行插入序號
  1.如果需要在表格的第一列插入序號,只需將ForEach...Next結構中的內容改為下述程序行即可,其中InsertAfter方法用來向表格單元格添加序號("第1行"、"第2行"等等)。
  IfiCountMod4=1Then
   oCell.Range.InsertAfter"第"&(iCount-1)/4 1&"行"
  EndIf
  iCount=iCount 1
  2.如果需要從表格的第二行開始插入序號,應將上述代碼改為:
  IfiCountMod4=1AndiCount>4Then
  oCell.Range.InsertAfter"第"&(iCount-1)/4&"行"
  EndIf
  iCount=iCount 1
  3.在表格的列插入日期
  (1)如需在表格的第一列插入日期,可用ForEach...Next結構來循環遍歷表格中的每個單元格,當判斷某一單元格為第一列時,插入日期。Formart(Date,...)用于指定日期的格式,下面例子中的日期從Date 1(即當前日期第二天)開始,用戶可以根據需要自定義。
  SetoDoc=ActiveDocument
  SetoTable=oDoc.Tables.Add(Range:=oDoc.Range(Start:=0,End:=0),NumRows:=
4,NumColumns:=4)
  iCount=1
  ForEachoCellInoTable.Range.Cells
  IfiCountMod4=1AndiCount>4Then
   oCell.Range.InsertAfterFormat(Date (iCount-1)/4,"YYYY.MM.DD")
  EndIf
  IfiCountMod4=2AndiCount>4Then
   oCell.Range.InsertAftercWeekName(WeekDay(Date (iCount-1)/4))
  EndIf
  iCount=iCount 1
  NextoCell
  oTable.AutoFormatFormat:=wdTableFormatColorful1,ApplyBorders:=True,Ap
plyFont:=True,ApplyColor:=True
@@0869601.JPG;圖2@@
  (2)如果需要在表格的第二列插入星期值,可在上例的ForEach...Next結構中插入以下幾行:
  IfiCountMod4=2AndiCount>4Then
  oCell.Range.InsertAftercWeekName(WeekDay(Date (iCount-1)/4))
  EndIf
  其中,WeekDay(Date)返回一數值(1~7),分別表示"星期日"~"星期六",CWeekName數組需要事先定義為:
  DimcWeekName(7)
  cWeekName(1)="星期日"
  cWeekName(2)="星期一"
  ......
  cWeekName(7)="星期六"
  4.根據單元格的內容設置不同的格式
  以上例中表格為例,如果需要將所有"星期六"和"星期日"所在行格式改為藍色背景,只要在上例程序之后追加以下幾行即可(表格格式改為wdTableFormatColorful2,行數改為12行)。程序中再次使用ForEach...Next結構遍歷表格中的每一行(Rows),如果檢測到某一行滿足條件("星期六"或"星期日"),則選擇一行(Selection.SelectRow),將其屬性改為需要的格式(本例中為藍色背景)。
  iCount=1
  ForEachRowsInoTable.Range.Rows
  If(WeekDay(Date (iCount-1))=7OrWeekDay(Date (iCount-1))=1)
AndiCount>1
  Then
   Selection.SelectRow
   WithSelection.Cells
  With.Shading
  .Texture=wdTextureNone
  .ForegroundPatternColorIndex=wdAuto
  .BackgroundPatternColorIndex=wdBlue
  EndWith
   EndWith
  EndIf
   iCount=iCount 1
   Selection.MoveDownUnit:=wdLine,Count:=1
   NextRows
@@0869602.JPG;圖3@@
  以上幾例簡要介紹了使用VBA自動處理Word表格的例子(有關VisualBasic事件、方法、對象、屬性的詳細使用方法請參閱MicrosoftWordVisualBasic幫助)??蛻艨蓪⒕幹频腣isualBasic代碼作為Word宏指定到工具欄或快捷方式,方便以后的使用。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乡城县| 田阳县| 福泉市| 齐河县| 成武县| 青阳县| 阳西县| 五寨县| 双流县| 溧水县| 博湖县| 延吉市| 柘荣县| 米泉市| 马关县| 西平县| 雅安市| 永兴县| 夹江县| 三台县| 黄石市| 繁昌县| 张家口市| 荆门市| 左权县| 尼木县| 黑龙江省| 寿光市| 富阳市| 淅川县| 玛多县| 扎兰屯市| 安康市| 准格尔旗| 中牟县| 沽源县| 策勒县| 安徽省| 陆丰市| 民乐县| 海林市|