Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 12
1
Builder 6

Сервер автоматизации Excel и TextBox1

13.08.2019, 14:03. Показов 1439. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не могу разобраться как обратиться к графическому объекту, созданного на листе Excel с именем TextBox1.
Объект - надпись с именем TextBox1. Я хочу туда занести значение (например "привет").
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//---------------------------------------------------------------------------
void __fastcall TFMain::Button2Click(TObject *Sender)
{
    ExcelInit("");
    App.OlePropertyGet("WorkSheets",1).OleProcedure("Select");
    int Nom = DM->Nastroiki->FieldByName("NOMZAVREM")->AsInteger+1;
 
    //вот здесь
 
    Variant Chart = App.OlePropertyGet("Charts",1);
    Chart.OlePropertySet("Value",WideString("Привет"));     //ошибка
 
    App.OlePropertyGet("Range",WideString("TextBox1")).OlePropertySet("Value",WideString("Привет"));     //так тоже ошибка
 
 
    toExcel(App,AnsiString("nom").c_str(),Nom);
    App.OlePropertySet("Visible",true);
}
//------------------------------------------------------------
void __fastcall TFMain::ExcelInit(String File)
{
     AnsiString sFile;
     sFile = GetCurrentDir()+"\\ZavRem.xltm";
      try
     {
          App=Variant::GetActiveObject("Excel.Application");
     }
     catch(...)
     {
         try
         {
             App=Variant::CreateObject("Excel.Application");
             Sleep(100);
         }
         catch (...)
         {
             Application->MessageBox("Íåâîçìîæíî îòêðûòü Microsoft Excel!"
                                     " Âîçìîæíî ýòîãî ïðèëîæåíèÿ íà êîìïüþòåðå íå óñòàíîâëåíî.","Îøèáêà",MB_OK+MB_ICONERROR);
         }
     }
   try {
    if(sFile!="")
       App.OlePropertyGet("WorkBooks").OleFunction("Add",sFile.c_str());
   else
     App.OlePropertyGet("WorkBooks").OleProcedure("Add");
 
 
    Sh=App.OlePropertyGet("WorkSheets",1);
    fStart=true;
  } catch(...) {
    Application->MessageBox("Îøèáêà îòêðûòèÿ êíèãè Microsoft Excel!",
                                         "Îøèáêà",MB_OK+MB_ICONERROR);
  }
}
//--------------------------------------------------------------------------
Миниатюры
Сервер автоматизации Excel и TextBox1  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2019, 14:03
Ответы с готовыми решениями:

Сервер автоматизации Excel
Добрый день!!! такая проблема. запускаю из Builder Excel, запускает все нормально (настраивается...

Как работает сервер автоматизации Excel?
Доброго всем времени суток!!! Я этот вопрос задавала в форуме по Windows, и там мне посоветовали...

Как работает сервер автоматизации Excel?
Доброго всем времени суток!!! Может, конечно, я немного неправильно выразилась при указании...

Сервер автоматизации Word
Доброго времени суток! Мне необходима помощь. Задание заключается в том, что мне нужно вывести...

1
0 / 0 / 0
Регистрация: 15.05.2017
Сообщений: 12
13.08.2019, 16:39  [ТС] 2
А может это коллекция Shapes, тогда все равно я не понимаю как занести туда запись

Добавлено через 1 час 21 минуту
Вот дошла до выделения объекта
C++
1
2
     Variant C = App.OlePropertyGet("WorkSheets",1);
        C.OlePropertyGet("Shapes").OlePropertyGet("Range",WideString("TextBox1")).OleProcedure("Select");
как дойти до имени? В интернете ничего не нашла

Добавлено через 43 минуты
Закройте тему. Решение найдено
0
13.08.2019, 16:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.08.2019, 16:39
Помогаю со студенческими работами здесь

Сервер автоматизации Word. Таблица, Ячейки
Не подскажите ли как на сервере Word сделать такие вещи. Есть таблица. 1. Объединить ("смержить")...

Сервер автоматизации из 32-битного приложения в 64-битной винде
Приветствую. Винда х64. Есть приложение Р1, тоже х64. Есть мое приложение Р2 х32, разрабатываю в...

Как обратиться к textBox1 на Form1 из Form2, не изменяя у textBox1 private на public?
Всем привет! Подскажите пожалуйста как обратиться к textBox1 на Form1 из Form2, не изменяя у...

Как посчитать функцию из TextBox1 и вывести ответ в этот же TextBox1
Доброго дня суток, подскажите пожалуйста как посчитать функцию из TextBox1 (в TextBox1 уже имеется...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru