powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / как создать новый лист в Excel из Builder
25 сообщений из 33, страница 1 из 2
как создать новый лист в Excel из Builder
    #33182483
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Испотльзую библиотеку #include <comobj.hpp> для работы из C++ builder 6 с Excel


app = CreateOleObject("Excel.Application");
books = app_akt.OlePropertyGet("Workbooks");
books.Exec(Procedure("Open")<<current_dir+"\\shablon\\akt_info.xls");
book = books_akt.OlePropertyGet("item",1);
sheet= book_akt.OlePropertyGet("WorkSheets",1);
app.OlePropertySet("Visible", 0);
app.OlePropertySet("DisplayAlerts",false);



toExcelCell(1,1,(AnsiString)Panel23->Caption); //так вывожу в ячейку 1,1 текст

А как в книге создать новый лист из C++ builder 6?????????????
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182517
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  Variant EA=Variant::CreateObject("Excel.Application");
  try
  {
    EA.Exec(PropertySet("Visible")<<true);
    EA.Exec(PropertyGet("Workbooks")).Exec(Function("Add"));

    EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")).Exec(Procedure("Add"));

--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182570
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. А как выделить лист с номером 3 (допустим) или именем "xxx"
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182584
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sheets("Sheet3").Select
Sheets("Sheet3").Copy Before:=Sheets(3)

а как выполнить это на C++
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182626
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пиши макрос в экселе и смотри его.

--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182627
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sfsfSheets("Sheet3").Select
Sheets("Sheet3").Copy Before:=Sheets(3)

а как выполнить это на C++
По аналогии с приведенным кодом.

--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182642
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")).Exec(Procedure("Copy Befor 3"));

Не работает

Sheets("Sheet1").Copy Before:=Sheets(3)
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182665
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ты макрос написал ? делай так же, там только некоторые свойства надо вызывать как функции

--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182666
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот макрос.

Sheets("Sheet1").Copy Before:=Sheets(3)

так вызываю в С++

EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")).Exec(Procedure("Copy Befor 3"));
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182705
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В принципе мне нужно
1. как перейти на нужный лист
2. как скопировать нужный лист в конец книги

Карабас Барабас помогите плиз.
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182717
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну плин ... ладно, вот тебе рабочий код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Variant EA=Variant::CreateObject("Excel.Application");
  try
  {
    EA.Exec(PropertySet("Visible")<<true);
    EA.Exec(PropertyGet("Workbooks")).Exec(Function("Add"));

    Variant Sheet=EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<"Eeno3");
    EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<"Eeno1").Exec(Procedure("Copy")<<Sheet);
  }
  __finally
  {
    EA=Unassigned;
  }
}
--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182721
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перейти на sheet1
Sheets("Sheet1").Select


Скопировать лист1 после листа 3
Sheets("Sheet1").Copy After:=Sheets(3)



Это макросы на VBA. Переведите плиз на C++
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182722
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Variant EA=Variant::CreateObject("Excel.Application");
  try
  {
    EA.Exec(PropertySet("Visible")<<true);
    EA.Exec(PropertyGet("Workbooks")).Exec(Function("Add"));

    Variant Sheet=EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<"Лист3");
    EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<"Лист1").Exec(Procedure("Copy")<<Sheet);
  }
  __finally
  {
    EA=Unassigned;
  }
}
--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182934
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще последний вопросик.

Как переименовать лист??? sheet1 в sss
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182955
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, аналогичным образом, к тому же у листа есть свойство Name

--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182958
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<"sheet1").Exec(PropertyGet("Name")<<"ss"

Ругается
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182961
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не гет а сет

--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33182969
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО БОЛЬШОЕ
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33183062
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин. Наверно уже достал.

Пытаюсь вывести в ячейку 1,1 какие нибудь данные:


EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Cells")<<"1,1").Exec(PropertySet("Value")<<"xxx");

Ругается
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33183075
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")).Exec(PropertyGet("Cells")<<"1,1").Exec(PropertySet("Value")<<"xxx");



так работает
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33183281
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<"sheet1").Exec(PropertyGet("Cells")<<"1,1").Exec(PropertySet("Value")<<"xxx");

Но както странно работает ("Cells")<<"1,1") выводит в ячейку 1-1(строка-столбец)
("Cells")<<"2") выводит в ячейку 1-2
("Cells")<<"3") выводит в ячейку 1-3


А во вторую строку как вывести????
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33183310
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дарю:
Код: plaintext
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.
AnsiString OutRange(int x,int y)
{
  int R='Z'-'A'+ 1 ;
//  char R0='A';

  AnsiString Out=(x>=R)? "A":"";
  x%=R;
  Out=Out+char(x+'A');
  Out=Out+AnsiString(y+ 1 );
  return Out;
}
AnsiString Range(int x,int y)
{
  AnsiString Out=OutRange(x,y);
  return Out+":"+Out;
}
AnsiString Range(int x1,int y1,int x2,int y2)
{
  return OutRange(x1,y1)+":"+OutRange(x2,y2);
}
Variant SetValue(Variant EA,int x,int y,AnsiString v,bool sel)
{
  if (v.Length()<= 0 ) v=" ";
  Variant r=EA.Exec(PropertyGet("Range")<<Range(x,y));
  r.Exec(PropertySet("Value")<<v);
  if (sel) r.Exec(Procedure("Select"));
  return r;
}

--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33183324
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<"sheet1").Exec(PropertyGet("Cells")<<"1,1").Exec(PropertySet("Value")<<"xxx");


А здесь чего неправильно
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33183347
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, через Cells не работал

--
With best regards, Karabas Barabas
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
как создать новый лист в Excel из Builder
    #33185483
sfsf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уважаемый Карабас Барабас

Ныжно выделить (перейти) на sheet3. Вот Excel макрос

Sheets("Sheet3").Select

а на C++ не выходит

Sheet_tmp=EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<"sheet4");
EA.Exec(PropertyGet("ActiveWorkbook")).Exec(PropertyGet("Sheets")<<Sheet_tmp);



СПАСИБО
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / как создать новый лист в Excel из Builder
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]