Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,145
Записей в блоге: 3

MS Project and Builder

19.09.2018, 00:24. Показов 822. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго!
Необходимо получать данные из "проджект" файла себе в табличку (пусть в SG). По сей день мне приходилось использовать Java для этих целей, но сил его поддерживать уже нет.

Умельцы пишут, что с ним можно работать через ole, как с обычным контейнером, так как это тот же excel, со своей версткой...но у меня так не выходит)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.09.2018, 00:24
Ответы с готовыми решениями:

С++ Builder 6 and Project.exe
У мя токая проблема: у мя есть БД созданая в Access и подключенная через ADO в С++ Bulder 6 -> при запуске ее на компе где нет...

Беда с Builder: не хочет закрывать project.exe
Проблемма: жмем F9 все отлично, прога запускается, далее закрываем, чего нить меняем в нем, жмем F9 - пишет что project.exe все еще...

Project raised exception class eaccessviolation with message 'access violation at address Ошибка Builder 6
Здравствуйте, суть программы - некая информационно-поисковая система "Ветеринарная лечебница". При добавлении нового клиента вылезает...

8
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,145
Записей в блоге: 3
20.09.2018, 11:23  [ТС]
Все отлично, подгружаю данные, могу читать по строкам и выводить их себе так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
AnsiString st = "D:\\Этапы захвата солнечной системы(lite).mpp";
 Variant Proj;
 Variant Book;
 Proj=CreateOleObject("MSProject.Application");
 Proj.OlePropertyGet("FileOpen", StringToOleStr(st));
 Proj.OlePropertySet("DisplayAlerts",false); // предупреждения Proj выключить
 Book = Proj.OlePropertyGet("ActiveProject");
 
 /*
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Text1"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Text2"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Name"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Duration"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Start"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Finish"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Predecessors"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("WBS"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("ResourceNames"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("ID"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Type"));
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("VAC"));  //?
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("WBS"));  //?
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Work")); //?
 Memo1->Lines->Add(Book.OlePropertyGet("Tasks").OlePropertyGet("Item",1).OlePropertyGet("Cost")); //?
 */
 
 
 Excel.OlePropertySet("Visible",true);
 Excel.OleProcedure("Quit");
Но как добраться до цвета Font. Макрос в самом проджекте показал данный код, но как его заделать под OLE, не понятною

Visual Basic
1
2
3
4
Sub Macro1()
    SelectTaskField Row:=2, Column:="Оконочание"
    Font32Ex Color:=2366701
End Sub
0
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
21.09.2018, 01:15
Скорее всего так
C++
1
int Font = Sheet.OlePropertyGet("Cells", 2,3).OlePropertyGet("Font32Ex").OlePropertyGet("Color");
Но это предположение, исходя из текста макроса
1
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,145
Записей в блоге: 3
21.09.2018, 10:47  [ТС]
TrollHammer, Спасибо, но не прокатывает....просто в проджекте единицей является "task" строка, а в экселе, ячейка....Я уже 100500 вариантов со строкой перепробовал)
0
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
21.09.2018, 10:55
Dinkin, А если залезть в потроха файла и посмотреть там, как правильно называются элементы и их свойства?

Добавлено через 19 секунд
Я так Excel ковырял
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,145
Записей в блоге: 3
21.09.2018, 10:59  [ТС]
Обчно через макросы и лез. А если Вы про xml, то в проджекте при экспорте в xml цвета сбрасываются, там не глянуть)
0
Модератор
 Аватар для D1973
9910 / 6447 / 2455
Регистрация: 21.01.2014
Сообщений: 27,370
Записей в блоге: 3
21.09.2018, 11:09
А офис какой? Я к тому, что новые офисы, имеющие форматы docx, xlsx... эти файлы, по сути, архивы, внутри которых XML файлы... Может, и с Project то же самое и попробовать их поковырять?
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,145
Записей в блоге: 3
21.09.2018, 11:14  [ТС]
D1973, Да так же разбирается как архив на кучу файлов, но внутри я ненашел корректного xml, где можно подсмотреть
0
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,145
Записей в блоге: 3
28.09.2018, 22:46  [ТС]
В общем, полностью разобрал MSProject, понял че к чему и как подключать, вставлять, заменять, выбирать =) Будет время попробую выложить мини мануал.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.09.2018, 22:46
Помогаю со студенческими работами здесь

Ошибка: C++ Builder 6 Project Project1.exe raised exception class EClassNotFound with message 'Class TImage not found'
Здравствуйте. Ошибка: C++ Builder 6 Project Project1.exe raised exception class EClassNotFound with message 'Class TImage not found'. ...

C++ Builder XE 10 multi-device project рисование
Внимание среда разработки XE 10. Собственно в чем вопрос, как и что делать мне понятно, вот есть хорошая на мой взгляд статья ...

Получение с помощью .NET Project.Title из exe, написанного на C++ Builder
Добрый день всем. Это мое первое сообщение на данном форуме. Надеюсь вы мне поможете. Проблема вот в чем. Есть написанные в С++ BUILDER...

Заставить видеть .cpp файл без использования Project->Add to project
Здравствуйте. Возникла ситуация, которую хочется правильно разрешить: "Есть юнит (пусть будет юнит №1), который расположен в отдельной...

Как создать Windows Form Project из Empty Project)
Если можно дайте ссылку для прочтения и самоизучения, либо покажите на пальцах,по пунктах.


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru