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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Граф на форме 
:(
    Опции темы
Dimitry
Дата 9.5.2007, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.3.2007

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



Помогите! Нужно нарисовать граф (в Excel-е на VBA программным путем), нагруженный с подписями (вершин и ребер), а также соединить определенные вершины дугами с подписями. За тем отобразить его на форме.
Заранее спасибо! Очень срочно нужно! smile 

PM MAIL   Вверх
Izuver
Дата 9.5.2007, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 352
Регистрация: 13.6.2006
Где: Омск

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



Как я полагаю на форме нельзя рисовать линии, если можно скажите как. Можно сделать Shape'ы, снять с них скриншот и вставить на форму. Построение графа и вставка скриншота, показано у Гарнаева - "VBA".
PM MAIL ICQ   Вверх
Dimitry
Дата 13.5.2007, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.3.2007

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



Да, согласен можно. Но есть еще один вопрос. Можно ли сделать скриншот не выделенного диапазона ячеек листа (способ указанный в книге Гарнеева: “VBA”), а задав определенную область экрана? Если можно подскажите как соединить две вершины графа не прямой, а закругленной дугой. Желательно указывая только какие две фигуры соединить, как это делается с прямой соединительной линией. 
Если можно приведите пример.
Спасибо за помощь.
PM MAIL   Вверх
Izuver
Дата 20.5.2007, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 352
Регистрация: 13.6.2006
Где: Омск

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



Код

ActiveSheet.Shapes.AddShape(msoShapeOval, 154, 30, 10, 10).Name = "Пов 1" 'Создать и обозвать поверхности
ActiveSheet.Shapes.AddShape(msoShapeOval, 90, 213, 10, 10).Name = "Пов 2" 'Номера сам допишешь
ActiveSheet.Shapes.AddConnector(msoConnectorCurve, 0, 0, 0, 0).Select 'Добавление линии размеров (неважно какого размера)
Selection.ShapeRange.ConnectorFormat.BeginConnect ActiveSheet.Shapes("Пов 1"), 8 'Присоединение линии размеров к поверхностям в указанных точках
Selection.ShapeRange.ConnectorFormat.EndConnect ActiveSheet.Shapes("Пов 2"), 3


Если вместо дуги (msoConnectorCurve) нужна прямая линия используй "msoConnectorStraight". Чтобы указать поверхности надо знать где ты будешь использовать данный код, потому как способов можно придумать много, например использовать "InputBox". Чтобы знать к каким точкам присоединять линии размеров, нужно знать месторасположение поверхностей, они могут произвольно разбросаны или выстроены в линию, тебе знать лучше. Хотелось бы увидеть для какого расчета нужен граф и есть в нем линии припусков?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

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

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

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



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


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

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


 




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


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

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