Я занят некоторыми автоматизациями слов и столкнулся с проблемой, когда контекстное меню внутри документа содержит элементы, которые я хочу удалить.эквивалент VB.Net для (CustomizationContext) в VBA
Как только документ открыт, через vba я могу удалить эти элементы, выполнив следующий код;
[VBA]
Dim oContextMenu As CommandBar
Dim oContextMenuItem As CommandBarControl
'Make changes to the ActiceDocument only (this is needed to make any changes to this document).
CustomizationContext = ActiveDocument
For Each oContextMenu In ActiveDocument.CommandBars
If oContextMenu.Type = MsoBarType.msoBarTypePopup Then 'Loop through all the context menus of type (msoBarTypePopup)
For Each oContextMenuItem In oContextMenu.Controls
If (InStr(oContextMenuItem.Caption, "Smokeball")) Then
oContextMenuItem.Delete
End If
Next
End If
Next
Если я выполняю этот код и проверить документ, все элементы суб Контекстное, которые содержат текст «smokeball» удаляются.
Когда я пытаюсь переместить этот код в мое решение VB.NET (у меня нет выбора языка, поэтому VB это), я получаю ошибки на линии CustomizationContext = ActiveDocument
(эта строка должна быть там, чтобы она влияла на текущий документ).
Ошибки я получаю CustomizationContext' is not a by reference property.
Кто-нибудь знает, как получить только, что одна линия эквивалент vb.net?
Заранее спасибо.
EDIT: В случае, если вам нужно, чтобы увидеть vb.net суб:
Private Sub RemoveUnwantedContextMenuItems()
Dim oContextMenu As CommandBar
Dim oContextMenuItem As CommandBarControl
'Make changes to the ActiceDocument only (this is needed to make any changes to this document).
WordApplication.CustomizationContext = WordApplication.ActiveDocument 'This is the error.
For Each oContextMenu In WordApplication.CommandBars
If oContextMenu.Type = MsoBarType.msoBarTypePopup Then 'Loop through all the context menus of type (msoBarTypePopup)
For Each oContextMenuItem In oContextMenu.Controls
If (InStr(oContextMenuItem.Caption, "Smokeball")) Then
oContextMenuItem.Delete()
End If
Next
End If
Next
End Sub
PS - я тоже уже пробовал использовать .AttachedTemplate
, а также .Normal/.NormalTemplate
Мне бы очень хотелось, чтобы кто-нибудь задал этот вопрос -1, чтобы дать объяснение ... Было близко к полуторадневным исследованиям для этой темы. – Hexie
был инициализирован и открыт WordApplication? – Jules
@Jules Да, я уже использую его в других областях на данном этапе. – Hexie