2013-07-12 68 views
0

我試圖從Word中的所有命令按鈕保存一些值,然後刪除它們,然後再次將它們添加回來。刪除文檔中的所有命令按鈕並將它們再次添加回來

這是用於印刷目的。

我的問題是如何循環所有命令按鈕來保存它們的頂部,左側,名稱和寬度值,然後如何刪除它們,然後如何創建帶有先前名稱,寬度和位置的新按鈕。

我知道如何創建數組和什麼,我需要弄清楚的是循環通過命令按鈕和添加新的命令按鈕與舊值的語法。

回答

0

沒有測試的代碼,但應在以往任何時候需要

刪除命令按鈕

For Each o In ActiveDocument.InlineShapes  
    If o.OLEFormat.Object.Name = "CommandButtonName" Then 
     'Save all properties of the command button using .Top, .Left, .Width etc 
     o.Delete 
    End If 
Next 

添加命令按鈕稍加修改工作(檢查http://support.microsoft.com/kb/246299):

'Add a command button to a new document 
    Dim doc As Word.Document 
    Dim shp As Word.InlineShape 
    Set doc = Documents.Add 

    Set shp = doc.Content.InlineShapes.AddOLEControl(ClassType:="Forms.CommandButton.1") 
    shp.OLEFormat.Object.Caption = "Click Here" 
    shp.OLEFormat.Object.Left = 100 
    shp.OLEFormat.Object.Top = 100 
    shp.OLEFormat.Object.Width = 255 
    shp.OLEFormat.Object.Visible = True 
+0

你不應該使用那種循環來刪除進程。如果要刪除某些類型的所有元素,請始終使用'For I ... Step -1'! –

0

我想通過調整命令按鈕到0x0親提供了一個更優雅的選項,不需要陣列,速度更快。

相關問題