Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как макросом - удалить узел полилинии. - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Как макросом - удалить узел полилинии.
OlegSmirnov Дата: Четверг, 24.08.2017, 21:58 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый вечер, великие умы.
Помогите разобраться.

На листе находится замкнутая Полилиния.
В книге имеется макрос - который добавляет в нужном месте контура этой Полилинии - дополнительный узел.

Как макросом - удалить этот узел ?
К сообщению приложен файл: 13645686.xls (46.0 Kb)
 
Ответить
СообщениеДобрый вечер, великие умы.
Помогите разобраться.

На листе находится замкнутая Полилиния.
В книге имеется макрос - который добавляет в нужном месте контура этой Полилинии - дополнительный узел.

Как макросом - удалить этот узел ?

Автор - OlegSmirnov
Дата добавления - 24.08.2017 в 21:58
Karataev Дата: Четверг, 24.08.2017, 22:52 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1342
Репутация: 535 ±
Замечаний: 0% ±

Excel
Узел можно найти по координатам. В макрос, который у Вас сейчас вставляет узел, можно добавить, чтобы куда-то записывались координаты узла (например на скрытый лист), а затем новый макрос будет искать узел по этим координатам и удалять. Но если пользователь или какой-то еще макрос сместит этот узел, то найти его уже будет нельзя.
У объекта "Node" нет ничего такого, чтобы можно было пометить, а затем по этой метке искать, кроме координат.
Поэтому если координаты Вам не подходят, то нужно смотреть, для чего Вам это нужно, и уже от этого попробовать решить задачу.


Сообщение отредактировал Karataev - Четверг, 24.08.2017, 23:10
 
Ответить
СообщениеУзел можно найти по координатам. В макрос, который у Вас сейчас вставляет узел, можно добавить, чтобы куда-то записывались координаты узла (например на скрытый лист), а затем новый макрос будет искать узел по этим координатам и удалять. Но если пользователь или какой-то еще макрос сместит этот узел, то найти его уже будет нельзя.
У объекта "Node" нет ничего такого, чтобы можно было пометить, а затем по этой метке искать, кроме координат.
Поэтому если координаты Вам не подходят, то нужно смотреть, для чего Вам это нужно, и уже от этого попробовать решить задачу.

Автор - Karataev
Дата добавления - 24.08.2017 в 22:52
OlegSmirnov Дата: Пятница, 25.08.2017, 01:03 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Узел можно найти по координатам.


А макросом это как сделать ?
 
Ответить
Сообщение
Узел можно найти по координатам.


А макросом это как сделать ?

Автор - OlegSmirnov
Дата добавления - 25.08.2017 в 01:03
AndreTM Дата: Пятница, 25.08.2017, 07:43 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
А вы разобрались с макросом, который добавляет узел (как вам советовал Дмитрий)?
Если разобрались - то ответом на ваш вопрос будет "у коллекции ShapeNodes есть метод .Delete, который удаляет ноду по её индексу".
Только нужно учитывать, что "удаление узла" - это операция , затрагивающая как ноды этого узла, так и ноды "соседних" узлов.

Если же вы тупо продолжаете своими вопросами подразумевать "напишите за меня мне код, чтобы работал, я все равно в нём не разбираюсь и разбираться не хочу и не буду" - то какие ответы могут быть? :D


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеА вы разобрались с макросом, который добавляет узел (как вам советовал Дмитрий)?
Если разобрались - то ответом на ваш вопрос будет "у коллекции ShapeNodes есть метод .Delete, который удаляет ноду по её индексу".
Только нужно учитывать, что "удаление узла" - это операция , затрагивающая как ноды этого узла, так и ноды "соседних" узлов.

Если же вы тупо продолжаете своими вопросами подразумевать "напишите за меня мне код, чтобы работал, я все равно в нём не разбираюсь и разбираться не хочу и не буду" - то какие ответы могут быть? :D

Автор - AndreTM
Дата добавления - 25.08.2017 в 07:43
Karataev Дата: Пятница, 25.08.2017, 09:48 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1342
Репутация: 535 ±
Замечаний: 0% ±

Excel
OlegSmirnov, не смог решить Вашу задачу. Координаты точки я запомнил (добавил код в Ваш макрос). Другим макросом удалил точку по запомненным координатам, но форма полилинии не стала прежней. То есть недостаточно запоминать координаты точки.
Не берусь за это задание.
 
Ответить
СообщениеOlegSmirnov, не смог решить Вашу задачу. Координаты точки я запомнил (добавил код в Ваш макрос). Другим макросом удалил точку по запомненным координатам, но форма полилинии не стала прежней. То есть недостаточно запоминать координаты точки.
Не берусь за это задание.

Автор - Karataev
Дата добавления - 25.08.2017 в 09:48
AndreTM Дата: Пятница, 25.08.2017, 11:37 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
Karataev, я про это тонко и намекал ранее :)

Простое удаление некоей одной ноды (именно ноды, а не "точки-узла") не приводит к тому, что произойдет то же самое, что и при выборе через интерфейс "Начать изменение узлов - Удалить узел - Закончить изменение узлов". Потому что уже в процессе добавления нового узла - изменяются параметры узла, относительно которого вставляется новый узел, и при последующем удалении - надо восстанавливать старые параметры (или "знать как, спросите у MS").
Достаточно простой вариант - это удалять только последний добавленный узел. Но и тогда самым простым решением будет просто сохранять копию всего шейпа (ну или хотя бы копию коллекции ShapeNodes шейпа), для последующей полной замены при "удалении" (на самом деле, не "удалении", а "откате последнего добавления").


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
СообщениеKarataev, я про это тонко и намекал ранее :)

Простое удаление некоей одной ноды (именно ноды, а не "точки-узла") не приводит к тому, что произойдет то же самое, что и при выборе через интерфейс "Начать изменение узлов - Удалить узел - Закончить изменение узлов". Потому что уже в процессе добавления нового узла - изменяются параметры узла, относительно которого вставляется новый узел, и при последующем удалении - надо восстанавливать старые параметры (или "знать как, спросите у MS").
Достаточно простой вариант - это удалять только последний добавленный узел. Но и тогда самым простым решением будет просто сохранять копию всего шейпа (ну или хотя бы копию коллекции ShapeNodes шейпа), для последующей полной замены при "удалении" (на самом деле, не "удалении", а "откате последнего добавления").

Автор - AndreTM
Дата добавления - 25.08.2017 в 11:37
Karataev Дата: Пятница, 25.08.2017, 14:45 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1342
Репутация: 535 ±
Замечаний: 0% ±

Excel
Рисовать полилинию для меня тоже непосильная задача (ну или надо потратить много времени, чтобы в этом разобраться).
Появилась такая идея. Первый макрос перед вставкой точки, копирует полностью всю полилинию на скрытый лист.
Второй макрос просто удаляет полилинию и вставляет полилинию из скрытого листа.

OlegSmirnov, еще лучше, если Вы опишите, для чего Вам это надо.
 
Ответить
СообщениеРисовать полилинию для меня тоже непосильная задача (ну или надо потратить много времени, чтобы в этом разобраться).
Появилась такая идея. Первый макрос перед вставкой точки, копирует полностью всю полилинию на скрытый лист.
Второй макрос просто удаляет полилинию и вставляет полилинию из скрытого листа.

OlegSmirnov, еще лучше, если Вы опишите, для чего Вам это надо.

Автор - Karataev
Дата добавления - 25.08.2017 в 14:45
AndreTM Дата: Пятница, 25.08.2017, 16:24 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 501 ±
Замечаний: 0% ±

2003 & 2010
...Появилась такая идея...
...самым простым решением будет просто сохранять копию...
:D


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Пятница, 25.08.2017, 16:27
 
Ответить
Сообщение
...Появилась такая идея...
...самым простым решением будет просто сохранять копию...
:D

Автор - AndreTM
Дата добавления - 25.08.2017 в 16:24
OlegSmirnov Дата: Суббота, 26.08.2017, 01:34 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Координаты точки я запомнил (добавил код в Ваш макрос). Другим макросом удалил точку по запомненным координатам, но форма полилинии не стала прежней.

А вы бы не могли выложить этот макрос ?
Мне и такой сойдет.
 
Ответить
Сообщение
Координаты точки я запомнил (добавил код в Ваш макрос). Другим макросом удалил точку по запомненным координатам, но форма полилинии не стала прежней.

А вы бы не могли выложить этот макрос ?
Мне и такой сойдет.

Автор - OlegSmirnov
Дата добавления - 26.08.2017 в 01:34
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!