0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 56

Cpp Builder / Excel

09.07.2013, 19:32. Показов 1699. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Пишу приложение "C++ Builder - OLE Excel"

Написал такой код для прорисовки таблицы:
C++
1
2
3
4
5
6
7
    vVarCell = vVarCells.OlePropertyGet("Range", "B2:B4");
    vVarCell.OlePropertyGet("Select");
      for(l = 7; l <= 12; l++){
        vVarCell.OlePropertyGet("Borders", l).OlePropertySet("LineStyle",1);
        vVarCell.OlePropertyGet("Borders", l).OlePropertySet("ColorIndex",1);
        vVarCell.OlePropertyGet("Borders", l).OlePropertySet("Weight",2);
      }
Вопрос:
Есть ли способ менять аргумент у свойства "Range" динамически?
Т.е. чтобы по ходу работы программы начальный диапазон ячеек "B2:B4" менялся на, другой?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.07.2013, 19:32
Ответы с готовыми решениями:

Cpp builder-Ole-Excel. WideString пишет в ячейку Excel минус перед нулем
Здравствуйте! Посмотрите пожалуйста: Когда аргумент val == 0, в ячейку Excel пишется &quot;-0&quot;. Без WideString все нормально - в...

Builder+Excel
Здравствуйте! Вот моя программа, которая считывает из excel данные, делает рассчет, записывает данные в новый лист, потом на еще одном...

Попробуйте запустить .CPP в Builder
Привет! Не работал никогда в Buider C++. Имеется готовый код, но как-то не выходит... Знающие, не могли бы попробовать? =) код в...

3
Модератор
 Аватар для vxg
3404 / 2175 / 353
Регистрация: 13.01.2012
Сообщений: 8,436
09.07.2013, 22:26
Цитата Сообщение от FZ@8qQ Посмотреть сообщение
Есть ли способ менять аргумент у свойства "Range" динамически?
ну так меняйте - в чем проблема?
0
0 / 0 / 0
Регистрация: 17.03.2013
Сообщений: 56
10.07.2013, 00:48  [ТС]
Цитата Сообщение от vxg Посмотреть сообщение
ну так меняйте - в чем проблема?
Пытался это сделать двумя путями:
1)
C++
1
2
3
AnsiString str = '"' + "A1:B2" + '"';
    vVarCell = vVarCells.OlePropertyGet("Range", str);
    vVarCell.OlePropertyGet("Select");
2)Перевести код VBA:
Visual Basic
1
ActiveSheet.Range(Cells(1, 1), Cells(2, 2)).Select
в Cpp. Вот одна из попыток:
C++
1
2
vVarCell = vVarCells.OlePropertyGet("Range", OlepropertySet("Cells", 1, 1), OlepropertySet("Cells", 2, 2));
vVarCell.OlePropertyGet("Select");
По сути, сейчас не получается найти правильное представление конструкции VBA в синтаксисе Cpp.

Когда найду, полагаю, что смогу вместо цифр использовать индексы. Верно?

Например:
Вместо этого:
C++
1
OlepropertySet("Cells", 1, 1)
Это:
C++
1
OlepropertySet("Cells", i, j)
P.S. Не судите строго, я программированием занимаюсь месяца 3

Добавлено через 42 минуты
Проблема решена:
C++
1
2
vVarCell=vVarSheet.OlePropertyGet("Range",vVarSheet.OlePropertyGet("Cells",1,1),vVarSheet.OlePropertyGet("Cells",2,2));
vVarCell.OlePropertyGet("Select");
0
Модератор
 Аватар для vxg
3404 / 2175 / 353
Регистрация: 13.01.2012
Сообщений: 8,436
10.07.2013, 08:32
не ясно чем был плох первый путь... только кавычки в нем были не нужны
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.07.2013, 08:32
Помогаю со студенческими работами здесь

Программно нажать кнопку на открытой в стороннем браузере веб-странице (cpp Builder 6)
Здравствуйте! Помогите разобраться с одной прикладной задачкой! Суть в следующем: допустим на форме приложения есть кнопка типа TButton ,...

Перенести код из VC++ в CPP Builder (код использует DLL)
Такая проблема. Есть DLL + пример её использования на Visual C++, пытаюсь этот пример перенести в Builder. Проблемы возникают в самом...

Как передать переменные и массивы из main.cpp в mainwindow.cpp?
Как передать переменные и массивы из main.cpp в mainwindow.cpp? main.cpp #include &quot;mainwindow.h&quot; #include &lt;QApplication&gt; ...

Как вызвать в основном .cpp файле тот или иной .cpp файл
Ну, обычно я работал с одним .cpp но вот появилась надобность в основном файле написать интерфейс простенький и выбор одного из 2х...

С помощью командной строки >namberstr f1.cpp Определить число строк в файле с именем f1.cpp
С помощью командной строки &gt;namberstr f1.cpp Определить число строк в файле с именем f1.cpp


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
Последние результаты исследования от команды MCM (октябрь 2025 г.)
Programma_Boinc 29.10.2025
Последние результаты исследования от команды MCM (октябрь 2025 г. ) Поскольку мы продолжаем изучать гены, которые играют ведущую роль в развитии рака, в рамках проекта "Картирование раковых. . .
Мысли в слух
kumehtar 29.10.2025
Обнаружил, что мысли лучше писать короткими фразами. Таким образом внимание читателя успевает охватить всю фразу сразу, за один раз, не соскакивая и не прерываясь. А если писать это длинным текстом,. . .
Побитовые операторы в Python
AI_Generated 28.10.2025
Побитовые операторы - это не реликт эпохи, когда каждый байт был на вес золота. Да, сейчас оперативка стоит копейки, но задачи изменились. Вместо экономии памяти приходится решать другие проблемы:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru