дурацкое название темы. постараюсь объяснить проблему.
есть некий макрос, который пробегает по всем шейпам и с каждым выполняет ряд операций.
такие как
Set a = ActiveShape.DisplayCurve.FindClosestSegment(x, y, po).GetPointAt(po)
ddd = sm.IsOnShape(xc, yc)
но проблема в том что если я скопирую с какого то документа шейпы, вставлю на новую страницу и запущу макрос то функция ddd = sm.IsOnShape(xc, yc) в 90 процентов случаев вернет 0 - что в заданных координатах нет шейпа.
но после второго запуска, без каких либо изменений эта ошибка возникает всего в 10 процентах случаев.
я не могу понять и вычислить почему она возникает, т.к. она плавающая и предсказать ее невозможно.
может кто то сталкивался с проблемой невидимости шейпов при первом запуске и видимости при последующем?
может как то правильно и особо их надо объявить?
может есть какие то хитрости?
я уже вторую ночь бьюсь но не получается решить проблему.
Спасибо.
есть некий макрос, который пробегает по всем шейпам и с каждым выполняет ряд операций.
такие как
Set a = ActiveShape.DisplayCurve.FindClosestSegment(x, y, po).GetPointAt(po)
ddd = sm.IsOnShape(xc, yc)
но проблема в том что если я скопирую с какого то документа шейпы, вставлю на новую страницу и запущу макрос то функция ddd = sm.IsOnShape(xc, yc) в 90 процентов случаев вернет 0 - что в заданных координатах нет шейпа.
но после второго запуска, без каких либо изменений эта ошибка возникает всего в 10 процентах случаев.
я не могу понять и вычислить почему она возникает, т.к. она плавающая и предсказать ее невозможно.
может кто то сталкивался с проблемой невидимости шейпов при первом запуске и видимости при последующем?
может как то правильно и особо их надо объявить?
может есть какие то хитрости?
я уже вторую ночь бьюсь но не получается решить проблему.
Спасибо.