Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 03.06.2009, 10:58   #1
bag
Форумчанин
 
Регистрация: 20.06.2008
Адрес: Россия
Сообщений: 95
Репутация: 30
По умолчанию Проблемма с FlexGrid

Здравствуйте! При попытке добавить на VBA-форму элемент управления Microsoft FlexGrid v6.0 выводится сообщение об ошибке "The control could njt be created because it is not properly licensed". Что делать? Установлен Microsoft Office 2007
__________________
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
bag вне форума   Ответить с цитированием
Старый 03.06.2009, 11:40   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Адрес: Россия, Урал
Сообщений: 6,769
Репутация: 1220

icq: 5836318
skype: ExcelVBA.ru
По умолчанию

Найдите в реестре раздел
HKEY_CLASSES_ROOT\Licenses\72E67120-5959-11cf-91F6-C2863C385E30

и создайте в нём строковый параметр со значением ibcbbbebqbdbciebmcobmbhifcmciibblgm f
(в значении не должно быть пробелов, уберите пробел перед последним символом f)

Проблема неоднократно обсуждалась на форумах:
http://forum.sources.ru/index.php?showtopic=110739
http://bbs.vbstreets.ru/viewtopic.ph...39251#p6718632
http://forum.vingrad.ru/index.php?showtopic=39817


Или просто запустите файл из вложения:
Вложения
Тип файла: rar FlexGrid.rar (283 байт, 300 просмотров)

Последний раз редактировалось EducatedFool; 03.06.2009 в 11:46.
EducatedFool вне форума   Ответить с цитированием
Старый 03.06.2009, 13:27   #3
bag
Форумчанин
 
Регистрация: 20.06.2008
Адрес: Россия
Сообщений: 95
Репутация: 30
По умолчанию

Спасибо за совет. Можно еще узнать, как записывать\считывать значения из определенных ячеек?
__________________
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
bag вне форума   Ответить с цитированием
Старый 03.06.2009, 13:42   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Адрес: Россия, Урал
Сообщений: 6,769
Репутация: 1220

icq: 5836318
skype: ExcelVBA.ru
По умолчанию

Цитата:
как записывать\считывать значения из определенных ячеек?
Код:

    ' примеры записи в ячейку
    Range("B5") = 123
    [b5] = 123
    Range("$B$5") = 123
    Range("B" & 5) = 123
    Cells(5, 2) = 123
    Cells(5, "B") = 123
    Rows(5).Cells(2) = 123
    Rows(5).Columns(2) = 123
    Rows(5).Columns("B") = 123
    Rows("5:5").Columns("B") = 123
    Columns(2).Cells(5) = 123
    Columns(2).Rows(5) = 123
    
    ' аналогично производится чтение из ячейки:
    x = [b5]
    x = Range("B5")
    x = Range("B5").Value
    x = Cells(5, 2)
    ' и т.д.

Более подробную информацию можно найти здесь:
http://msoffice.nm.ru/faq/macros.htm
EducatedFool вне форума   Ответить с цитированием
Старый 03.06.2009, 14:53   #5
bag
Форумчанин
 
Регистрация: 20.06.2008
Адрес: Россия
Сообщений: 95
Репутация: 30
По умолчанию

Извиняюсь, неточно выразился. Я имел ввиду организацию доступа к ячейкам элемента FlexGrid.
__________________
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
bag вне форума   Ответить с цитированием
Старый 03.06.2009, 15:06   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Адрес: Россия, Урал
Сообщений: 6,769
Репутация: 1220

icq: 5836318
skype: ExcelVBA.ru
По умолчанию

Как-то так:
Код:

FG.TextMatrix(i, 0) = i
FG.TextMatrix(i, 1) = "текст"
FG.TextMatrix(i, 2) = Line_Descr

FG.Row = i: FG.col = 2: FG.CellBackColor = vbYellow
FG.Row = i: FG.col = 3: FG.CellBackColor = vbRed

FG.Redraw = True

X = FG.TextMatrix(5, 4)

EducatedFool вне форума   Ответить с цитированием
Старый 03.06.2009, 15:18   #7
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Адрес: Россия, Урал
Сообщений: 6,769
Репутация: 1220

icq: 5836318
skype: ExcelVBA.ru
По умолчанию

Вот ещё пример работы с FlexGrid:

Код:

Sub ЗаполнениеFlexGrid()
    With Me.FlexGrid
        .ColWidth(0) = 2500: .ColWidth(1) = 1800: .ColWidth(2) = 1800: .ColWidth(3) = 1700
        ' устанавливаем ширину столбцов
        
        .Row = 0: .Col = 0: .RowSel = .Rows - 1: .ColSel = 3:
        .FillStyle = 1: .CellAlignment = 4 ' выравнивание по центру
        
        .Row = 1: .RowSel = .Rows - 1: .ColSel = 0: .CellBackColor = vbYellow
        ' красим первый столбец в желтый цвет
        
        .Row = .Rows - 1: .Col = 0: .RowSel = .Rows - 1: .ColSel = 3: .CellBackColor = vbGreen
        ' красим последнюю строку в зелёный цвет
        .CellFontBold = True ' и устанавливаем полужирный шрифт
        
        .Row = 0: .Col = 1: .RowSel = 0: .ColSel = 3: .CellBackColor = vbMagenta
        ' красим верхнюю строку
        
        For i = 1 To 6
            .TextMatrix(i, 0) = "Магазин № " & i
            For j = 1 To 3
                .TextMatrix(0, j) = "Товар № " & j
                .TextMatrix(i, j) = arr(i, j)
            Next j
        Next i
        
        For j = 1 To 3
            .TextMatrix(7, j) = arr(7, j)
        Next j
        .TextMatrix(7, 0) = "Самая низкая цена"
    End With
End Sub

Пример (на VB) во вложении:
Вложения
Тип файла: rar Задача 4.rar (13.1 Кб, 236 просмотров)
EducatedFool вне форума   Ответить с цитированием
Старый 04.06.2009, 07:00   #8
bag
Форумчанин
 
Регистрация: 20.06.2008
Адрес: Россия
Сообщений: 95
Репутация: 30
По умолчанию

Еще раз спасибо! Оказывается я тоже в чем-то новичек
__________________
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)
bag вне форума   Ответить с цитированием
Старый 04.06.2009, 07:32   #9
bag
Форумчанин
 
Регистрация: 20.06.2008
Адрес: Россия
Сообщений: 95
Репутация: 30
По умолчанию

А можно ли в определенных ячейках установить вертикальный вывод текста? Это нужно, чтобы сжать по ширине таблицу (в ячейках первой строки идет длинный текст, а в остальных ячейках - короткие числа).
И еще вопрос: как сделать, чтобы содержимое ячеек FlexGrid'а можно было редактировать вручную, а не программно?
__________________
Не забывайте оставлять отзывы (кнопочка в левом нижнем углу сообщения)

Последний раз редактировалось bag; 04.06.2009 в 07:39.
bag вне форума   Ответить с цитированием
Старый 04.06.2009, 10:15   #10
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Адрес: Россия, Урал
Сообщений: 6,769
Репутация: 1220

icq: 5836318
skype: ExcelVBA.ru
По умолчанию

Цитата:
А можно ли в определенных ячейках установить вертикальный вывод текста?
Насколько мне известно, нет.
По крайней мере, такого свойства у FlexGrid я не нашёл.

Цитата:
как сделать, чтобы содержимое ячеек FlexGrid'а можно было редактировать вручную, а не программно?
По событию FlexGrid_DblClick отображаете текстбокс поверх той ячейки, на которой выполнялся DblClick, выставляете размеры и координаты текстбокса в соответствии с размерами выбранной пользователем ячейки, и после ввода значения в текстбокс скрываете его, а введённое значение программно записываете в FlexGrid.
(Excel делает примерно то же самое, когда Вы редактируете текст прямо в ячейке)

Или используйте компонент Microsoft Office SpreadSheet 11.0 или 10.0
В этом случае работать с ячейками будет гораздо проще.
К тому же, этот элемент управления по умолчанию формирует контекстное меню, и позволяет выполнять правку прямо в ячейке.
(пример во вложении)
Вложения
Тип файла: rar Spreadsheet.rar (14.6 Кб, 268 просмотров)
EducatedFool вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемма girz БД в Delphi 4 02.06.2009 22:01
Проблемма с BitBtn Fe_DoS Общие вопросы C/C++ 1 26.03.2009 22:48
Проблемма с 3d max 9 Crivel Gamedev - cоздание и обсуждение игр 5 29.08.2008 23:03
Проблемма c if Crivel Помощь студентам 8 08.08.2008 15:28
Внедрить контрол в FlexGrid beryllium Общие вопросы .NET 0 21.02.2008 02:09




19:40.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru