|
0 / 0 / 0
Регистрация: 26.06.2007
Сообщений: 59
|
|
Как из VB (не VBA) програмно изменить формат ячейки в Exel06.02.2008, 14:52. Показов 4166. Ответов 9
Метки нет (Все метки)
Пример. Я открыл из VB файл-таблицу 'Товары.xls', внес в таблицу данные и еще что-то...
Но в столбце 'А' содержание данных, например, 'Наименование товаров...' некоторые наименования могут быть длиннее чем видимое поле для их записей в открытой таблице Exel. Некоторые колонки могут занимать большое место, напрмер до 30 знакомест, а нужно, например, всего-то 8!!! ЗАДАЧИ-ВОПРОСЫ: 1. Вручную мы ставим флажек: 'Выравнивание с переносом строк' Как программно можно изменить этот формат? 2. Как изменять формат количества знакомест в строке (любого столбца) таблицы. СПАСИБО за ответ
0
|
|
| 06.02.2008, 14:52 | |
|
Ответы с готовыми решениями:
9
5 вопросов по Exel, Как указать формат числа ячейки и др. Как в VBA сделать формат ячейки текстовым?
|
|
robo
|
||||||
| 07.02.2008, 15:08 | ||||||
|
А устроит тебя такой код?
|
||||||
|
0 / 0 / 0
Регистрация: 26.06.2007
Сообщений: 59
|
|
| 07.02.2008, 16:32 [ТС] | |
|
Я ничего не понял от работы приведенного Вами кода:
With NT.Worksheets(1).Range('N' & f) ..... вместо N я подставил А, вместо f = 150 В таблице никаких изменений... Когда я поставил f=50, то получил Error: 'This action will reset project, proceed anyway?' и кнопки ОК НЕТ Справки... В общем я незнаю какае тут проверяются параметры в цикле, и не пошло!!!! Спасибо за внимание, братцы жду еще ответов 'как соловей лета!'.
0
|
|
|
robo
|
||||||
| 07.02.2008, 17:42 | ||||||
|
Попробую объянить яснее что я хотел сказать:
NT - это переменная объект Excel (файл *.xls открытый Вами); .Worksheets(1) - 1-ый лист, соответственно, Excel-я ; .Range('N' & f) - N - столбец , f - строка, т.е. ячейка которую нужно изменить; .WrapText = True - программно ставим флажок: 'Выравнивание с переносом строк' В результате строка (при условии N='A', f=1), без всяких With:
должна изменить ячейку A1 до требуемого состояния. |
||||||
|
0 / 0 / 0
Регистрация: 26.06.2007
Сообщений: 59
|
|
| 08.02.2008, 07:27 [ТС] | |
|
Ну, во-первых спасибо, что настойчиво мне втолковываете
Эффект установки флажка есть!!!!! Но пользы пока мало: строки автоматически не меняют высоты Пример, строка имеет изображение: |Бумага Xerox Business А-4 95 % 80 | Когда ее высоту увеличишь, то видим: |Бумага Xerox Business А-4 95 % 80 | |гр 500 л | Это то что мне надо, но необходимо просматривать все строчки и делать их необходимой высоты. Фактически это я сделал бы и просто в Exel...а если строк больше 1000 !!!???
0
|
|
|
robo
|
|
| 08.02.2008, 11:10 | |
|
Попробуйте следующее:
<code>NT.Worksheets(1).Rows('1:1001').En tireRow.AutoFit</code> |
|
|
0 / 0 / 0
Регистрация: 26.06.2007
Сообщений: 59
|
|
| 08.02.2008, 12:29 [ТС] | |
|
СПАСИБО, вы просто молодец с подсказкой... пошло и это, но вначале с тем же эффектом !!!!
Здесь поясняю, что я вообще-то делаю... '----------- Беру файл-исходник и копирую в новый, также открываемый из VB файл, но меняю некоторые данные и даже выкидываю ненужные столбцы... Все это уже отработано... Но при этом нужно получить зрительный результат, чтобы таблица была не на весь экран шириной, а почти на половину. Вот по этой причине мне нужно сжать длину строки столбца 'А' = Наименование товаров, например. Если в исходном 'файле.xls' длина занимаемой строки в столбце например 70 знакомест, т.е. все записи укладываются - то по этой причине я не вижу эффекта автоматического переноса слов и увеличения высоты в дублирующем !!! '--------- Ситуация следующая (ну и обнаглел же я, даже без подсказки сам понял): Если я открою окно исходника через Exel - и установлю в нем ширину столбца на 50 знакомест, тогда и в копии я все получаю как хочу: текст в строке переносится и высота ее становится автоматически требуемой!!! 1. Вопрос, а как установить ширину на 50 знакомест столбца в дубле-файле, а исходник как был, так пусть и остается - я в него руками не должен лазить... 2. Я понял Вы предлагаете коды не из бейсика...но очень легко удалось их 'перефрагментировать' и применить в VB. 3. Поэтому очень извиняюсь, любопытство разгорается - и вот это еще ворос: а где бы можно увидеть такие коды и о других параметрах... СПАСИБО за внимание. С уважением, ВлаДимир
0
|
|
|
prince
|
|
| 08.02.2008, 23:46 | |
|
Попробуй попиши макросы для начала :-)
Потом почитай Хелп. Может поможет :-) |
|
|
robo
|
|
| 09.02.2008, 10:06 | |
|
Prince прав.
На самом деле всё просто и надежно, как АКА-47. Если тебе нужно что-либо открываешь новый файл Excel, начинаешь запись нового макроса, делаешь что тебе надо, останавливаешь запись макроса, открываешь его код, берешь нужный кусок, и копируешь в свой VB проект с некоторыми изменениями и всё. Слава России! |
|
|
0 / 0 / 0
Регистрация: 26.06.2007
Сообщений: 59
|
|
| 10.02.2008, 07:25 [ТС] | |
|
Всем спасибо.
Опять я 'наткнуля на кулак', т.е. надо все же поработать с макросами, а я их нелюблю и все не хотел с ними возиться, все их обходил...а теперь надо, эх... ![]() А счего то начинать... Удач Вам
0
|
|
| 10.02.2008, 07:25 | |
|
Помогаю со студенческими работами здесь
10
Стирание чисел в Судоку или Как через JS изменить формат ячейки HTML Изменить формат ячейки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|