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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сетевой график на VBA (Excel), построение сетевог графика на VBA(Excel) 
:(
    Опции темы
Trinitron
Дата 2.9.2005, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А как можно внутрь нарисованной окружности вывести значение переменной?
PM MAIL   Вверх
Naghual
Дата 2.9.2005, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

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



Код

ActiveSheet.Shapes("Oval_1").Select
Selection.Characters.Text = "TEST"



--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Trinitron
Дата 2.9.2005, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, Naqhual, попробую
PM MAIL   Вверх
Trinitron
Дата 2.9.2005, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вот пробный фрагмент:

ActiveSheet.Shapes.AddLine(27.75, 63.75, 113.25, 63.75).Select
Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
Selection.ShapeRange.Line.EndArrowheadLength = msoArrowheadLengthMedium
Selection.ShapeRange.Line.EndArrowheadWidth = msoArrowheadWidthMedium
ActiveSheet.Shapes.AddShape(msoShapeOval, 114#, 42#, 42#, 42#).Select
ActiveWorkbook.Names.Add Name:="Дата1", RefersToR1C1:="=""Овал 3"""
ActiveSheet.Shapes.AddLine(156#, 63.75, 213.75, 63.75).Select
Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
Selection.ShapeRange.Line.EndArrowheadLength = msoArrowheadLengthMedium
Selection.ShapeRange.Line.EndArrowheadWidth = msoArrowheadWidthMedium
ActiveSheet.Shapes.AddShape(msoShapeOval, 214.5, 43.5, 40.5, 40.5).Select
ActiveWorkbook.Names.Add Name:="Дата2", RefersToR1C1:="=""Овал 5"""
ActiveSheet.Shapes.AddLine(135#, 84#, 135#, 127.5).Select
ActiveSheet.Shapes.AddLine(135#, 127.5, 185.25, 127.5).Select
Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
Selection.ShapeRange.Line.EndArrowheadLength = msoArrowheadLengthMedium
Selection.ShapeRange.Line.EndArrowheadWidth = msoArrowheadWidthMedium
ActiveSheet.Shapes.AddShape(msoShapeOval, 186#, 106.5, 42#, 42#).Select
ActiveWorkbook.Names.Add Name:="Data3", RefersToR1C1:="=""Овал 8"""

ActiveSheet.Shapes("Дата1").Select
Selection.Characters.Text = "12/09/05"


Ругается на неверный параметр в предпоследней строке
PM MAIL   Вверх
Naghual
Дата 2.9.2005, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

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



Правильно пишет. Нет у тебя овала с таким именем.

Задавать имя нужно так:
Код

ActiveSheet.Shapes.AddShape(msoShapeOval, 114#, 42#, 42#, 42#).Select
Selection.Name = "Дата1"


Это сообщение отредактировал(а) Naghual - 2.9.2005, 11:08


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Trinitron
Дата 2.9.2005, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо, Naqhual, всё получилось.

А размер шрифта при выводе в окружность можно изменить?
И последний, похоже на то, вопрос: а как можно на листе эти объекты разом все удалить?

Это сообщение отредактировал(а) Trinitron - 2.9.2005, 11:20
PM MAIL   Вверх
Naghual
Дата 2.9.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

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



Через коллекцию Shapes в цикле.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Trinitron
Дата 2.9.2005, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А вот этого я не понял smile
А размер шрифта при выводе в окружность можно изменить?

Это сообщение отредактировал(а) Trinitron - 2.9.2005, 11:21
PM MAIL   Вверх
Naghual
Дата 2.9.2005, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

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



Что ты не понял? Объяснить как удалить?

Шрифт:
Воспользуйся методом записи макроса!
И все поймеш!


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Trinitron
Дата 2.9.2005, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Если можно, то подскажи примером как удалить нарисованные овалы и линии
Со шрифтом разобрался
PM MAIL   Вверх
Naghual
Дата 2.9.2005, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

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



Код

    Dim SHP As Shape
    
    For Each SHP In ActiveSheet.Shapes
        SHP.Delete
    Next



--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Trinitron
Дата 2.9.2005, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ОГРОМНОЕ тебе СПАСИБО, Naqhual, всё получилось.

Тему можно закрыть.
PM MAIL   Вверх
vaulin
Дата 24.3.2010, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пример простенькой программки, которая рисует линию на форме. Данный код необходимо вставить в тело формы (создать форму и нажать F7)

Код

Option Explicit
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function dwMoveTo Lib "gdi32" Alias "MoveToEx" _
    (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, _
    ByVal lpPoint As Long) As Long
Private Declare Function dwLineTo Lib "gdi32" Alias "LineTo" _
    (ByVal hdc As Long, ByVal x As Integer, ByVal y As Integer) As Long
Private Declare Function dwGetDC Lib "user32" Alias "GetDC" _
    (ByVal hWnd As Long) As Long
Private Declare Function dwEllipse Lib "gdi32" Alias "Ellipse" _
    (ByVal HDC As Long, ByVal X1 As Long, ByVal Y1 As Long, ByVal _
    X2 As Long, ByVal Y2 As Long) As Long
Private Function Draw()
    Dim hForm As Long, hdc As Long
    hForm = FindWindow("ThunderDFrame", Me.Caption)
    hdc = dwGetDC(hForm)
    Call dwMoveTo(hdc, 10, 40, 0)
    Call dwLineTo(hdc, 150, 100)
    Call dwEllipse(HDC, 50, 50, 150, 150)
End Function
Private Sub UserForm_Click()
    Draw
End Sub




Программка рисует на форме VBA Excel линию с координатами точек (10, 40) и (150, 100) после щелчка мыши по панели формы, а также окружность. 

Это сообщение отредактировал(а) vaulin - 24.3.2010, 14:06
PM ICQ   Вверх
GWolf
Дата 14.12.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Уважаемый Trinitron, здравствуйте!

А нельзя ли выложить пример реализации "рисовалки"?
PM MAIL   Вверх
Pavel73
Дата 30.9.2013, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите нужно создать таблицу в Excel. Столбцы: ФИО, Должность, Дата рождения, Несовер. дети г. р., Дата окончания контракта. Нужно что бы когда остается месяц до завершения контракта строка с человеком у которого заканчивается контракт выделялась красным цветом.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

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

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

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



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


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

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


 




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


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

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