Страница 1 из 1
EXCEL-VBA-Как"вытащить"ПеременнуюСреды,КакЗаписать
Добавлено: 16 ноя 2005, 15:05
anval
1)Как "вытащить" в макросе переменную среды - в данном случае сетевое имя комьютера.
2)В ячейку нужно поместить техт "м3", где "3" должна быть представлена в виде показателя степени. При ручном вводе информации этот символ вводится копированием из таблицы символов . Как достичь такого же результата при программном формировании ячейки?
Добавлено: 16 ноя 2005, 18:43
Игорь Акопян
2) попробовать через коллекцию Characters изменить шрифт нужного сивмола на superscript
Добавлено: 17 ноя 2005, 05:39
Avsha
смотрите...
forum/viewtopic.php?t=4304&highlight=
Применительно к вашему случаю...
MsgBox (Environ("COMPUTERNAME"))
Наверно вы знаете, как их просмативать в Windows...
Но на всякий случай:
Пуск\Выполнить\cmd\команда set
Добавлено: 17 ноя 2005, 05:51
Avsha
Есть ячейка со значением "м3"
Нажимаете на ней F2, затем выделяете только цифру 3, правая кнопка мыши - "Формат ячеек",
устанавливаете опцию "Верхний индекс" - вот вам и показатель степени.
Затем все тоже проделал с записью макроса, вот что получилось...
Код: Выделить всё
Sub Макрос1()
' Макрос1 Макрос
' Макрос записан 17.11.2005 (HomePC)
Range("F14").Select
ActiveCell.FormulaR1C1 = "м3"
With ActiveCell.Characters(Start:=1, Length:=1).Font
.Name = "Arial Cyr"
.FontStyle = "обычный"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
With ActiveCell.Characters(Start:=2, Length:=1).Font
.Name = "Arial CYR"
.FontStyle = "обычный"
.Size = 10
.Strikethrough = False
.Superscript = True
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End Sub
Очевидно, что за это дело отвечает свойство .Superscript = True, что и советовал
Игорь Акопян.
Добавлено: 17 ноя 2005, 09:57
anval
Avsha, b]Игорь Акопян[/b], спасибо!
С переменной среды все отлично, ответ подходит, спасибо за него и ссылку,
На 2-ой вопрос привожу еще один ответ (Pashulka,на другом форуме), для моих нужд он более удобен.
ActiveCell.Value = "m" & ChrW(179)
Добавлено: 17 ноя 2005, 11:58
Avsha
Вариант с ChrW(179) мне тоже понравился,
попутно разобрался, что не всегда надо доставать таблицу символов для копирования в Excel,
можно вбить этот символ сочетанием Alt(удерживаем)-0-1-7-9-Alt(отпускаем).
Только если в показатель необходимо будет записать выражение, типа (x+1) придеться воспользоваться верхним индексом,
но похоже вам Объема (м³

достаточно

Добавлено: 17 ноя 2005, 17:05
anval
Да, я тоже стала пользоваться вводом с помощью Alt(этот способ известен давно, но когда им не пользуешься длительное время, просто о нем забываешь). Что касается объема, мне действительно достаточно в показателе степени одной тройки и с помощью предложенного приема моя проблема легко решилась, можно сказать, одним оператором(в сформированной программно таблице перед выдачей результата глобальной заменой вместо м3 ставится м³
