Visio 2003 を使用しており、選択したアイテムを「削除済みアイテム」という非表示レイヤーに移動するマクロを作成したいと考えています。
マクロを記録しようとしましたが、得られたのはこれだけで、レイヤーの操作方法さえ示していません。:(
Sub Move_to_Delete_Layer()
'
' Moves the selected item(s) to the "zDeleted Items" Layer (which typically remains hidden). This is basically an "undo-able" way to delete the item.
'
' Keyboard Shortcut: Ctrl+d
'
Dim UndoScopeID1 As Long
UndoScopeID1 = Application.BeginUndoScope("Layer")
Application.ActiveWindow.Page.Shapes.ItemFromID(175).CellsSRC(visSectionObject, visRowLayerMem, visLayerMember).FormulaU = """9"""
Application.EndUndoScope UndoScopeID1, True
End Sub
編集:
ありがとう。SDK は少しは役に立ちますが、残念ながら動作するコードを生成するには不十分です。やりたいことは基本的に
Dim myLayer As Visio.Layer
Set myLayer = Application.ActiveWindow.Page.Layers.Add("Deleted Items")
myLayer.Add Application.ActiveWindow.Selection.ContainingShape, 1
しかし、そのコードは機能しません。「実行時エラー '-2032465766 (86db089a)': 要求された操作は現在無効になっています」というエラーが表示されます
また、既に存在していたレイヤーからシェイプを削除したいのですが、その方法がわかりません。