word 圖 索引


轉載請注明出處:博客園【clayyjh】https://www.cnblogs.com/clayyjh/p/15640619.html

本文介紹Word中圖的索引的生成和修改,表的索引與此相同,涉及到題注功能,更高級的功能需要用到宏。

1、基礎使用

1)新建一個Word,建立“標題1”樣式4章,每章插入1個圖,每個章標題前用自動編號,編 1 2 3 4.自動編號不要含有中文,否則會造成題注編號章號是中文:圖一.1

 

2)在圖片下方插入題注

 

如果是圖就寫圖,是表則寫表

 

 

 

 然后點擊確定,即可生成題注

 

修改題注格式

 

 

 

 但此時發現圖后面會自動生成1個空格,這不是我們想要的,可以選擇查找替換的方法,也可以采用下文提到的高級方法。

下面生成索引

 

 

 

 

 2)高級做法

為了使得插入題注后圖后面的空格,可以采用宏的方式自動刪除

1. 開啟信任中心,啟用宏

2. 將上面的文檔另存為.docm使用宏的文檔

3. 右鍵菜單欄,自定義功能區,勾選開發工具

 

4. 添加宏

 

 在本文檔對應處,添加一下代碼

 

Sub InsertCaption()  '修改系統插入“題注”命令

   '功能:自動刪除標簽與編號間的空格(英文除外),並在題注數字后添加一個空格;適用於:Word 2003 - 2013,不兼容WPS文字!
  '真正從原理上協同系統插入題注,無任何前提條件;用戶照常插入題注即可,甚至感覺不到程序的存在!
   'Endlesswx於2015年8月4日
   
  '另,如果插入的始終未域代碼而不是數字,非程序問題,Alt+F9一次即可
   
   Dim Lab As String, startPt As Long, endPt As Long, myrang As Range
   'On Error Resume Next  '發生錯誤時讓程序繼續執行下一句代碼
'    Application.ScreenUpdating = False     '關閉屏幕更新,2013在此處關閉更新會導致輸入框灰色不可選,故修正在調出對話框之后
   
   startPt = Selection.Start  'startPt標注起始點
      
   '***將if條件隱藏隱藏即可實現----手動替換題注空格***
   If Application.Dialogs(357).Show = -1 Then '插入“題注”對話框秀出來,如果按確定結束時執行以下程序,避免按取消后的空格,357也可換成wdDialogInsertCaption
      
      Application.ScreenUpdating = False     '關閉屏幕更新
      
       Lab = Dialogs(357).Label
       endPt = Selection.Start  'endPt標記插入的題注部分終點
      Selection.Start = startPt  '選定插入的整個題注
      
      '刪除標簽與編號間的空格(英文后的保留)
       With Selection.Find
          .Text = Lab & " "
          .Forward = True   'False=向上查找,(True=向下查找)
          .MatchWildcards = False '不使用通配符
          If Lab Like "*[0-9a-zA-Z.]" Then  '此處判斷標簽的最后一個字符是否為英文或數字,是則不刪除空格
          Else
             .Replacement.Text = Lab
             .Execute Replace:=wdReplaceOne  '替換找到的第一個,此處用作刪除空格
             endPt = endPt - 1 '刪除空格后,末位減1
             Selection.End = endPt
          End If
       End With
      
      '在題注數字后添加一個空格
      Selection.Fields.ToggleShowCodes  '切換域代碼,這樣才能用^d查找域
       With Selection.Find
          .Text = "^d"
          .Replacement.Text = "^& "
          .Forward = False   'False=向上查找,(True=向下查找)
          .MatchWildcards = False '不使用通配符
          .Execute Replace:=wdReplaceOne  '替換找到的第一個,此處用作添加空格
       End With
      
      '選定整個插入的題注內容,將域代碼切換回來
       endPt = endPt + 1 '增加空格后,末位加1
       With Selection
          .Start = startPt
          .End = endPt
          .Fields.ToggleShowCodes   '切換域代碼(切換回來)
       End With
      
      '將光標定位至題注所在段尾處
'       Selection.MoveRight Unit:=wdCharacter, Count:=1  '此句光標返回插入題注前的原始位置,對於已經輸好標題的情況並不合適
      '選擇段尾回車符
       With Selection.Find
          .Text = "^13"
          .Forward = True   'False=向上查找,(True=向下查找)
          .MatchWildcards = False  '不使用通配符
          .Wrap = wdFindContinue '繼續查找
          .Execute
       End With
      Selection.MoveLeft Unit:=wdCharacter, Count:=1  '定位到段尾回車前

   End If
   Application.ScreenUpdating = True          '恢復屏幕更新
   
End Sub

保存,添加題注,可自動去除''圖''后的空格

 

 關於Word宏,也可以手動選擇錄制宏,設定一些快捷鍵,方便使用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM