Поиск элементов (в частности фреймов текстовых) по имени из C#

  • Автор темы Автор темы pashka_j
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

pashka_j

Участник
Топикстартер
Сообщения
10
Реакции
0
Несколько лет назад писал скрипт на быструю руку на VB. Сейчас решил этот скрипт в состав проекта внести на c#
Практически все перевел (особых сложностей и нет) а вот на одном моменте заткнулся.
В VB я получал элементы (в частности фреймы) с шаблона с указанным именем, или напрямую фрейма по имени:

MyTemplateFrame = MyDocument.MasterSpreads.Item("A-Master").textframes.item(2)
locReplaceFrame = MyDocument.TextFrames.Item("имя1")

В C# есть (может не нашел другого ?) только ItemById(int Id). Т.е. нужен его номер. Перебирать как-то не очень правильно наверное.
Причем в свойствах фрейма есть имя (MyDocument.TextFrames[0].Name) Но вот не могу сообразить как не перебирая получить напрямую объект.
 
Ответ: Поиск элементов (в частности фреймов текстовых) по имени из C#

MyDocument.TextFrames.itemByName("name") в javascript reference guide, мб так пойдет
 
Ответ: Поиск элементов (в частности фреймов текстовых) по имени из C#

MyDocument.TextFrames.itemByName("name") в javascript reference guide, мб так пойдет
В C# только ItemByID и ItemByRange в том-то и дело.
Имя есть только, как я уже выше говорил, MyDocument.TextFrames[0].Name, но не могу сообразить как без перебора это использовать
 
Ответ: Поиск элементов (в частности фреймов текстовых) по имени из C#

а можно линк на сдк который вы юзаете?
 
Ответ: Поиск элементов (в частности фреймов текстовых) по имени из C#

Эээээ. Я пользую MSVS10, подцепил референсом "Resources for Visual Basic.tlb" То, что было с установкой InDesign. Пятерка.
Интелисенс знает только ItemByID и ItemByRange для textframe.
Впрочем я все-таки перебором обошелся. Ибо в документе у меня фреймов не так много (не больше 500) так что времени много не занимает.
 
Ответ: Поиск элементов (в частности фреймов текстовых) по имени из C#

Сам себе в общем отвечаю
Все оказалось гораздо проще.
Если ищем например фрейм текстовый, то вполне пройдет textframes["имя_фрейма"] Хотя интелисенс утверждает, что требуется int, но на деле string тоже проходит замечательно.
 
Ответ: Поиск элементов (в частности фреймов текстовых) по имени из C#

поэтому хорошо иметь refenece manual к тому на чем пишешь xD
 
Ответ: Поиск элементов (в частности фреймов текстовых) по имени из C#

поэтому хорошо иметь refenece manual к тому на чем пишешь xD
Кто же спорит :) А если его нет, приходится пользоваться тем, что есть. А есть описание объектной модели и интелисенс (без него вообще ничего бы не написал). Ну и метод научного тыка :)
 
Статус
Закрыто для дальнейших ответов.