Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.70/30: Рейтинг темы: голосов - 30, средняя оценка - 4.70
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229

Задать формат рисунка

29.01.2011, 11:10. Показов 6671. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вставляю в колонтитулы рисунок:
Visual Basic
1
2
3
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.InlineShapes.AddPicture FileName:=Лого.Text, _
        LinkToFile:=False, SaveWithDocument:=True
Но, как всегда делает ворд, он делает так, как хочется ему. Результат - колонтитулы раком.
Весь многостраничный документ тоже.
Не могу побороть: как при вставке указать формат картинки - перед текстом
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.01.2011, 11:10
Ответы с готовыми решениями:

Как задать формат
Есть файл csv, мне надо сохранить в формате xlsx, но не знаю какой поставить формат? Workbooks.Application.DisplayAlerts = False ...

Как задать формат TextBox?
Как задать формат (т.е. NumberFormat) TextBox-например 1,000,000 т.е. при вводе в TextBox чмсла 1000000 он показал 1,000,000

Задать собственный формат даты
мне нужно, чтобы дата прописывалась в формате "21" января 2001 г. как это реализовать????мм

27
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
29.01.2011, 14:17
Alex77755,
т.е. нужно вставить рисунок в определённое место колонтитула? В твоём случае - в самом начале колонтитула?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
29.01.2011, 15:23  [ТС]
Вопрос не о месте, а о ФОРМАТЕ
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
29.01.2011, 15:26
Alex77755,
я пока не нашёл, но смысл такой:
вставляешь рисунок, но помещаешь его в объектную переменную. С помощью ConvertToShape переводишь рисунок из состояния InlineShape в просто Shape. Затем нужно узнать вот эти две штуки:
Visual Basic
1
2
Selection.ShapeRange.WrapFormat.Type = 3
Selection.ShapeRange.ZOrder 4
1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.01.2011, 13:48  [ТС]
Получилось так: (картинку рекомендовали именно вставлять через буфер, а не загружать. Тогда она автоматически масшабируется)

Visual Basic
1
2
3
4
5
6
7
8
9
PIC.Picture = LoadPicture(Лого.Text)
    Clipboard.Clear
    Clipboard.SetData PIC.Picture
    Dim asd
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
Set asd = Selection.InlineShapes.AddPicture(FileName:=Лого.Text, _
        LinkToFile:=False, SaveWithDocument:=True)
asd.ConvertToShape
ActiveWindow.View.Type = wdPrintView
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.01.2011, 13:56
Alex77755,
а так чем не подходит:
Visual Basic
1
2
ActiveDocument.Shapes.AddPicture _
    FileName:="Лого.Text", Anchor:=Selection.Range
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.01.2011, 13:58  [ТС]
Я так не пробовал. А куда он вставит в таком случае?
И будет добавлен рисунок. Ворд начнёт опять передёргивать
А так я вставляю в готовые рамки. Уже отформатированные
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.01.2011, 14:00
Цитата Сообщение от Alex77755 Посмотреть сообщение
А куда он вставит в таком случае?
где курсор находится. Тебе же на др. форуме ответили. И положение получается то, которое нужно автоматически (видимо такое значение по умолчанию стоит).
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.01.2011, 14:03  [ТС]
А где у меня курсор стоит?
Я из VB открываю шаблон и заполняю его Виэибле фалше
Заполнился шаблон и закрылся с нужным именем.
А методом ActiveDocument.Shapes.AddPicture у меня весь документ становится раком!!

Тебе же на др. форуме ответили.
Я задавал на трёх форумах - ответили только на этом. Ты


И положение получается то, которое нужно автоматически
Вот если б оно получалось которое нужно я бы и вопросы не задавал!
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.01.2011, 14:16
После этой команды
Visual Basic
1
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
курсор появляется в колонтитуле.

Добавлено через 9 минут
Кстати если рисунок вставить в документ как InlineShape, а затем превратить в Shape, то рисунок тоже делается "Перед текстом".

Добавлено через 51 секунду
Цитата Сообщение от Alex77755 Посмотреть сообщение
PIC.Picture = LoadPicture(Лого.Text)
а что за PIC?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.01.2011, 14:33  [ТС]
картинку рекомендовали именно вставлять через буфер, а не загружать. Тогда она автоматически масшабируется
PIC это картинка на форме

Добавлено через 14 минут
Visual Basic
1
2
ActiveDocument.Shapes.AddPicture _
    FileName:=Лого.Text, Anchor:=Selection.Range
Вствляет. Но впрос всё-таки остался нерешённый.
Привставке таким образом рисунок вставляется в натуральную величину. И это вызывает кучу неприятностей.
Как всё-таки не добавлять новый рисунок в колонтитул, а обратиться к существующей рамке в колонтитуле и в неё вставить рисунок?
При вставке рисунок получается в границах рамки. и не портит документ
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.01.2011, 15:59
Alex77755,
а почему тогда буфер обмена не использовать?

Добавлено через 2 минуты
Цитата Сообщение от Alex77755 Посмотреть сообщение
к существующей рамке
надо называть вещи своими именами - это не рамка, а надпись. В Worde есть рамки двух видов, но одним типом рамок простые смертные вообще не пользуются, а второй тип появляется в документе при вставке определённых элементов (например, при вставке номера страницы).
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.01.2011, 16:04  [ТС]
Я не знаю о чем ты говоришь. Причём тут надпись?
я вставляю рамку
Миниатюры
Задать формат рисунка  
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.01.2011, 16:06
Alex77755,
да, всё правильно вы рамку вставляете.
Ну а что с буфером обмена то?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.01.2011, 16:08  [ТС]
а почему тогда буфер обмена не использовать?
Я почему-то был уверен, что использую буфер:
Visual Basic
1
2
3
PIC.Picture = LoadPicture(Лого.Text)
    Clipboard.Clear
    Clipboard.SetData PIC.Picture
И вопрс то звучал: как обратиться к рамке в колонтитуле, чтобы вставить картинку.
И даже рассказывал, почему выбрал именно такой вариант. Смотри выше
Как всё-таки не добавлять новый рисунок в колонтитул, а обратиться к существующей рамке в колонтитуле и в неё вставить рисунок?
При вставке рисунок получается в границах рамки. и не портит документ
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.01.2011, 16:11
Alex77755,
т.е. вы используете буфер обмена и рисунок всё-равно не сохраняет нужных параметров?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.01.2011, 16:17  [ТС]
Как всё-таки не добавлять новый рисунок в колонтитул, а обратиться к существующей рамке в колонтитуле и в неё вставить рисунок?
Я уже не знаю как ещё сформулировать вопрос
В буфере картинка. В колонтитуле рамка. Готовая. КАК именно в эту рамку вставить картинку.
В остальном тексте рамки находятся в коллекции Frame
Рамка, которая находится в колонтитуле не входит в эту коллекцию. Где она находится? Физически в колонтитуле. А как к ней обратится программно, что бы вставить в неё картинку
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.01.2011, 16:19
Alex77755,
лучше не использовать ни рамки, ни чего другого, если есть возможность их не использовать. Поэтому я и спрашиваю: чем вас не устраивает простая вставка рисунка из буфера обмена.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
30.01.2011, 16:30  [ТС]
Не устраивет то, что при встаке в рамку рисунок мастабируется автоматически под размер рамки, А при простой вставке вставляется в натуральную величину и портит весь документ

Добавлено через 1 минуту
лучше не использовать ни рамки
Поиск и советы специалистов говорят об обратном
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
30.01.2011, 16:32
Цитата Сообщение от Alex77755 Посмотреть сообщение
А при простой вставке вставляется в натуральную величину и портит весь документ
даже из буфера обмена? Я просто попробовал в Worde уменьшить размер рисунка, вырезал, вставил его и размер маленький так и остался.

Добавлено через 1 минуту
Цитата Сообщение от Alex77755 Посмотреть сообщение
Поиск и советы специалистов говорят об обратном
чем меньше объектов - тем лучше, потому что программы проще становятся в управлении.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.01.2011, 16:32
Помогаю со студенческими работами здесь

Задать разным ячейкам разный формат
С помощью Selection.NumberFormat = "@" задаем всем столбцам и ячейками текстовый формат ячеек. А как сделать так чтобы, например, 1 и...

Как задать textBox формат времени
Как сделать чтоб во времени textBox сам ставил двоеточие

Задать положение рисунка
Задача состоит в том, чтобы можно было задать положение рисунка на экране относительно начальной и конечно точки подключение(обозначил...

Как задать название рисунка
Добрый день! Как задать необходимое название рисунка, например: Рис. 2.2 То есть проблема в том что нумерация присваивается...

Как задать цвет рисунка мышью?
в коде задаю значения мышке рисовать на Timage .В image1MouseDaun задан цвет img1.Canvas.Pixels:=clBlack; как присвоить х,у выбор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru