Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавить фото в документ Word, и сделать обтекание текстом 
V
    Опции темы
Экскалупатор
Дата 8.4.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: нет
Всего: 24



Всем привет. есть вопрос по работе с MSWord. я прогаю на C#. так вот мне необходимо вставить в документ картинку из файла (известен адрес), сделать эту картинку определенного размера(например 300х300 пикселей) не зависимо от исходного размера, и сделать возможным обтекание текстом, вокруг этой картинки. подскажи плиз как такое сделать, очень надо.
PM MAIL ICQ   Вверх
Akina
Дата 8.4.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Открыть Ворд.
Запустить запись макроса.
Выполнить требуемые действия.
Остановить запись.
Изучить полученный код.
Выполнить его из своей программы над экземпляром Word.Application.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Экскалупатор
Дата 8.4.2009, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: нет
Всего: 24



Akina, макрос это конечно выход, но есть одно "но"
у меня(может это только у меня), во время записи макроса не доступны операции с вставленной картинкой, т.е. вставить картинку из файла не вопрос, и в макросе это сразу записывается, но вот изменить ее размер и "обтекаемость" текстом нельзя, опция такая не доступна. так что макрос отпадает, ну только если ктонить запишет и скинет мне, буду премного благодарен.
PM MAIL ICQ   Вверх
Akina
Дата 9.4.2009, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(Экскалупатор @  8.4.2009,  23:46 Найти цитируемый пост)
 меня(может это только у меня), во время записи макроса не доступны операции с вставленной картинкой, т.е. вставить картинку из файла не вопрос, и в макросе это сразу записывается, но вот изменить ее размер и "обтекаемость" текстом нельзя, опция такая не доступна. так что макрос отпадает

При вставлении картинки записывается использование Selection.InlineShapes.AddPicture... так Вы уж не поленитесь залезть в справку и посмотреть, какие могут быть использованы параметры... я ж не зря написал - ИЗУЧИТЬ полученный код, - а не просто посмотреть на него.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Экскалупатор
Дата 9.4.2009, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: нет
Всего: 24



Akina, Да, вы правы, конечно стоило почитать. поискал нашел вот такую конструкцию:
Код

worddocument.Shapes.AddPicture(FileName, ref Link, ref saveWitnDoc, ref Left, ref Top, ref Width, ref Height, ref range);


таким образом можно добавить картинку, и изменить ее размер, но я не нашел параметр задающий обтекаемость, может это каким то другим способом нужно делать? через формат страницы например или еще как...
PM MAIL ICQ   Вверх
Akina
Дата 9.4.2009, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Ну теперь посмотрите справку по свойствам объекта Picture в коллекции Shapes smile


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Экскалупатор
Дата 9.4.2009, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: нет
Всего: 24



Akina, вы, батенька страшный тип! я аж вспотел переводить статьи с MSDN и выуживая по крупица, что и как примерить. Оно конечно возымело свой эффект, но было бы проще если бы сразу подсказали! ну да ладно, вот что я нашел:

Код

object False = false;
            object True = true;
            object Left = Type.Missing;
            object Top = Type.Missing;
            object Width = 300;
            object Height = 300;
            object range = Type.Missing;
            Microsoft.Office.Interop.Word.WdWrapType wrap = Microsoft.Office.Interop.Word.WdWrapType.wdWrapSquare;
            worddocument.Shapes.AddPicture(@"E:\10000.jpg", ref False, ref True, ref Left, ref Top, ref Width, ref Height, ref range).WrapFormat.Type=wrap;


код добавляет картинку и ставит ей "обтекаемость", единственное что не понятно, это как поменять "обтекаемость" после добавления картинки, любые мои попытки приводили к ошибке, свойство WrapType предназначено только для чтения. Отсюда получается(ИМХО), что его можно установить только во время добавления фигуры(хотя наверное, если перезаписывать картинку, то это свойство станет снова доступным).
все, ответ найден, можно сказать мной, конечно не без помощи(активного пинания меня ногами в нужную сторону поиска) Akina, за что ему отдельное спасибо.

Это сообщение отредактировал(а) Экскалупатор - 9.4.2009, 21:20
PM MAIL ICQ   Вверх
Akina
Дата 9.4.2009, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 26
Всего: 454



Цитата(Экскалупатор @  9.4.2009,  22:15 Найти цитируемый пост)
я аж вспотел переводить статьи с MSDN и выуживая по крупица, что и как примерить. Оно конечно возымело свой эффект, но было бы проще если бы сразу подсказали! ну да ладно, вот что я нашел:

Я знаю где надо искать, представляю рядом с чем. Но чтобы найти решение, мне самому пришлось бы "потеть". Оно мне надо?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0725 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.