Формат текста

Программирование на Visual Basic for Applications
morskoy
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.11.2006 (Пт) 21:13

Формат текста

Сообщение morskoy » 24.11.2006 (Пт) 21:52

Сорри, если вопрос совсем ламерский. Справка и поиск ничего не дали.

Задача такая: в макросе Excel существуют несколько переменных и констант, которые в итоге складываются в одну конечную в виде текстовой строки. Требуется, чтобы определенные переменные в этой строке имели формат полужирный или подчеркнутый.

На тупое переменная.Font.Bold VBA отвечает "Object required". Не подскажете, как можно это сделать?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.11.2006 (Сб) 7:12

Дык это... больше кода в студию... а то ж мы не телепаты, чтобы угадывать происхождение переменной

З.Ы. А тебе часом не в форум VBA?
Весь мир матрица, а мы в нем потоки байтов!

morskoy
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.11.2006 (Пт) 21:13

Сообщение morskoy » 25.11.2006 (Сб) 7:31

Код в самом простейшем виде такой:

a = "Текст1"
b = 5
c = "Текст2"

d = a & b & с

MsgBox d

Как сделать так, чтобы, например, значение b было выделено полужирным?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.11.2006 (Сб) 7:47

так... все страньше и страньше...


а где предполагается увидеть b в жирном исполнении?
Весь мир матрица, а мы в нем потоки байтов!

morskoy
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.11.2006 (Пт) 21:13

Сообщение morskoy » 25.11.2006 (Сб) 8:27

Страньше? :)

Нужно чтобы в d эта цифра 5 была полужирной, чтобы допустим когда d из буфера обмена будет вставлена в какой-либо документ, строка имела вид: "Текст1 5 Текст2"

Вроде бы все должно быть элементарно, но просто не знаю, как придать b формат.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.11.2006 (Сб) 9:09

делов то... Для Word это будет как то так:

Selection.TypeText Text:="Текст1"
Selection.Font.Bold = True
Selection.TypeText Text:="5"
Selection.Font.Bold = False
Selection.TypeText Text:=" Текст2

и выясняется это путем записи макроса
Весь мир матрица, а мы в нем потоки байтов!

morskoy
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.11.2006 (Пт) 21:13

Сообщение morskoy » 25.11.2006 (Сб) 9:37

Это понятно:) Если бы мне нужно было оперировать данными в ячейках, я бы обратился в крайнем случае как раз на форум VBA...

Суть в том, что есть программа-макрос, которая только берет начальные данные в листе Excel, а далее появляются свои переменные и над ними производятся разные действия.
Необходимо, чтобы результат, который представляет собой текстовую строку из склеенных "ТекстN" и значений переменных, был не одного формата, а с выделением полужирным и подчеркиванием. Как в примере с MsgBox.

Можно переменной задать формат текста? Или в самой конечной d его как-то установить, например с помощью Len?

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.11.2006 (Сб) 9:51

Наконец-то прозвучало магическое слово Excel...

Но вопрос остается открытым, куда предполагается вывести эту самую пресловутую строку?

1. В ячейку Excel?
2. В документ Word?
3. В файл?
4. Отобразить при помощи MsgBox?
5. Куда то еще?

З.Ы. Кстати мы щас как раз и есть в форуме VBA, однако есть подозрение, что нужно возвращать топик назад.
Весь мир матрица, а мы в нем потоки байтов!

morskoy
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.11.2006 (Пт) 21:13

Сообщение morskoy » 25.11.2006 (Сб) 10:09

Магическое слово прозвучало еще в первом сообщении :) Ну не важно

Результат - в буфер обмена, а далее в почтовую программу как текстовую строку. MsgBox я упомянул к примеру))

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 25.11.2006 (Сб) 10:20

ага... тогда видимо прозвучит другое магическое слово - тэги форматирования. Ищи в эту сторону. Тут смысл такой, что тебе нужно в строку в нужное место добавить тэги, указывающие на то, что текст находящийся в них должен быть выделен жирным шрифтом. Направление тебе дано.

З.Ы. и действительно, Excel упоминался еще в первом топике, проглядел.
Весь мир матрица, а мы в нем потоки байтов!

morskoy
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 24.11.2006 (Пт) 21:13

Сообщение morskoy » 25.11.2006 (Сб) 10:44

Хорошо, буду искать в этом направлении :)

Спасибо за помощь!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 97

    TopList