|
0 / 0 / 0
Регистрация: 26.06.2007
Сообщений: 59
|
|
Как из VB (не VBA) програмно изменить формат ячейки в Exel06.02.2008, 14:52. Показов 4194. Ответов 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 Изменить формат ячейки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|