Всем привет. Есть документ, котором после "копипастов" накопилось куча объектов типа "MicroSoft Forms 2.0 TextBox". Как их можно быстро все удалить из документа?
В интернете находил макросы для удаления "офисных" TextBox, но там используется идентификатор "msoTextBox", который текстовые поля MS Forms не воспринимает ("офисные", которые вставляются через стандартное меню Разработчика, удаляет на ура).
Пока все что могу - в режиме конструктора "в ручную" кликать мышкой там где есть (могут быть) эти объекты и удалять. Но, во-первых, это очень долго (в документе этих объектов м. б несколько десятков, а то и сотен), а во-вторых - не факт что так я найду их все (могу и пропустить, ведь поле без рамки и на белом фоне его можно не заметить).
Может есть макрос и для удаления таких объектов? Или может можно как-то их по другому быстро найти по документу, чтоб удалить?
Прилагаю сильно сокращенный пример документа (под таблицей перечислил где есть такие текстбоксы).
Пример кода для удаления "офисных" TexpBox:
[spoiler]Sub Del_WA()
Dim Shp As Shape
For Each Shp In ActiveDocument.Shapes
If Shp.Type = msoTextBox Then Shp.Delete
Next Shp
End Sub[/spoiler]
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
-
a_axe
Re: 2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Цитата Greyman:
Или может можно как-то их по другому быстро найти по документу, чтоб удалить?
Нажать alt+F9, потом еще можно ctrl+G , выбрать "поле".
Цитата Greyman:
Может есть макрос и для удаления таких объектов?
Попробуйте таким кодом (только не факт, что он не удалит нужное):
Код:
Greyman, проверьте личку.
Или может можно как-то их по другому быстро найти по документу, чтоб удалить?
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Нажать alt+F9, потом еще можно ctrl+G , выбрать "поле".
Цитата Greyman:
Может есть макрос и для удаления таких объектов?
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Попробуйте таким кодом (только не факт, что он не удалит нужное):
Код:
Код: Выделить всё
Sub field_del()
Dim f As Field
For Each f In ActiveDocument.Fields
If f.Type = wdFieldOCX Then f.Delete
Next f
End SubGreyman, проверьте личку.
-
Greyman
Re: 2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Цитата a_axe:
Нажать alt+F9, потом еще можно ctrl+G , выбрать "поле".
Что должно делаться по Alt+F9? У меня ничего не происходит.
И какое поле надо искать после Ctrl-G? Не вижу там ничего подходящего.
Цитата a_axe:
Попробуйте таким кодом (только не факт, что он не удалит нужное):
А вот за макрос - спасибо! Работает!
Только он удаляет не одни только "мои текстбоксы". Но на его базе нашел в инете вариант модернизации:
Код:
Нажать alt+F9, потом еще можно ctrl+G , выбрать "поле".
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Что должно делаться по Alt+F9? У меня ничего не происходит.
И какое поле надо искать после Ctrl-G? Не вижу там ничего подходящего.
Цитата a_axe:
Попробуйте таким кодом (только не факт, что он не удалит нужное):
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
А вот за макрос - спасибо! Работает!
Только он удаляет не одни только "мои текстбоксы". Но на его базе нашел в инете вариант модернизации:
Код:
Код: Выделить всё
'Only fields that are activex controls
If f.Type = wdFieldOCX Then
'only activex controsl that are textboxes
If TypeOf f.OLEFormat.Object Is MSForms.TextBox Then f.Delete
End If-
Iska
Re: 2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Цитата Greyman:
Что должно делаться по Alt+F9?
Отображаться поля в виде кодов, а не содержимого.
Цитата Greyman:
Но на его базе нашел в инете вариант модернизации:
Да, примерно так.
Что должно делаться по Alt+F9?
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Отображаться поля в виде кодов, а не содержимого.
Цитата Greyman:
Но на его базе нашел в инете вариант модернизации:
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Да, примерно так.
-
Greyman
Re: 2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Цитата Iska:
Отображаться поля в виде кодов, а не содержимого.
Точно, ступил...
Не смотрел при этом на страницу с этими полями.
Отображаться поля в виде кодов, а не содержимого.
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Точно, ступил...
Не смотрел при этом на страницу с этими полями.-
a_axe
Re: 2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Цитата Greyman:
И какое поле надо искать после Ctrl-G?
Если оставить просто пустое окошко - диалог найдет любое ближайшее поле. Например - если у вас поля в середине документа, включаете отображение кодов полей и переходите к ближайшему, потом - к следующему и т.д. (вместо того чтобы мотать документ и искать "глазами" ).
И какое поле надо искать после Ctrl-G?
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Если оставить просто пустое окошко - диалог найдет любое ближайшее поле. Например - если у вас поля в середине документа, включаете отображение кодов полей и переходите к ближайшему, потом - к следующему и т.д. (вместо того чтобы мотать документ и искать "глазами" ).
-
Greyman
Re: 2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Цитата a_axe:
Если оставить просто пустое окошко - диалог найдет любое ближайшее поле. Например - если у вас поля в середине документа, включаете отображение кодов полей и переходите к ближайшему, потом - к следующему и т.д. (вместо того чтобы мотать документ и искать "глазами" ).
Ок .Спасибо. Может и пригодится.
Но в данном случае это мало поможет - там несколько сотен страниц с кучей перекрестных ссылок и автоматической нумерации таблиц и рисунков - устанешь кнопку нажимать...
Да и пропустить там можно "на автомате" то что нужно.
Скрипт гораздо удобнее - правда очень сильно выручил...
P.S.
Кста, все началось из-за того, что при наличии в документе таких полей с ним не работает совместный доступ (по крайней мере на 2010 "шарике"). Пришлось повозиться пока я это обнаружил (удалял куски документа - так и нашел). Может кому тоже поможет в похожей ситуации...
Если оставить просто пустое окошко - диалог найдет любое ближайшее поле. Например - если у вас поля в середине документа, включаете отображение кодов полей и переходите к ближайшему, потом - к следующему и т.д. (вместо того чтобы мотать документ и искать "глазами" ).
2016 - [решено] Word - MicroSoft Forms 2.0 TextBox - как удалить все из документа?
Ок .Спасибо. Может и пригодится.
Но в данном случае это мало поможет - там несколько сотен страниц с кучей перекрестных ссылок и автоматической нумерации таблиц и рисунков - устанешь кнопку нажимать...
Да и пропустить там можно "на автомате" то что нужно.Скрипт гораздо удобнее - правда очень сильно выручил...
P.S.
Кста, все началось из-за того, что при наличии в документе таких полей с ним не работает совместный доступ (по крайней мере на 2010 "шарике"). Пришлось повозиться пока я это обнаружил (удалял куски документа - так и нашел). Может кому тоже поможет в похожей ситуации...