Сохранить текущую активную таблицу в файл CSV без вопросов.

Вызов:

int ires = excel_request("save_active_sheet_as_csv", string filename);


Здесь:

filename - полный путь и имя файла куда сохранить текущую страницу Excel в виде файла CSV.


Пример.

Выбрать текущим файл "Управляющий файл.xlsm" (должен быть уже открытым в Excel).

Удалить, если уже существуют временные файлы чтобы программа при сохранении не запрашивала подтверждение.

Сохранить копию в файл "h:\1.xlsx".

Открыть его в Excel.

Сохранить его страницы в файлах "1_Имя таблицы.csv".

Закрыть файл "h:\1.xlsx",


int main()
{
       excel_attach();
       bool bexist;
       int ires;

       string sWorkBookUprFile = "Управляющий файл.xlsm";
       ires = excel_request("workbook_select", sWorkBookUprFile);
       if (ires != 0)
       {
               tsalert(-1, "Ошибка во время выполнения", "Не получается переключиться в файл excel", sWorkBookUprFile);
               excel_detach();
               return -1;
       }

       string filename = "h:\\1.tmp";
       ires = shell_func("file", "is_exist", filename, bexist);
       if (bexist)
       {
               cout << "Удаляем файл " << filename << "\n";
               ires = shell_func("file", "delete", filename);
       }

       excel_request("save_copy_as", filename);
       excel_request("workbook_open", filename);
       ires = save_sheet_as_csv_file("Пироги стен");
       if (ires != 0)
       {
               return;
       }
       ires = save_sheet_as_csv_file("Пироги колонн");
       ires = save_sheet_as_csv_file("Пироги балок");
       ires = save_sheet_as_csv_file("Пироги потолков");
       ires = save_sheet_as_csv_file("Пироги низа и торца лестниц");
       ires = save_sheet_as_csv_file("Пироги полов");
       ires = save_sheet_as_csv_file("Плинтуса и торцы фундам. оборуд");
       ires = save_sheet_as_csv_file("Узлы");
       ires = save_sheet_as_csv_file("Слои_пирогов_отделки");
       ires = save_sheet_as_csv_file("Слои_пирогов_полов");
       excel_request("workbook_close");

       excel_detach();
}


int save_sheet_as_csv_file(string sSheetName)
{
       bool bexist;

       int ires = excel_request("sheet_select", sSheetName);
       if (ires != 0) {
               tsalert(-1, "Ошибка во время выполнения", "Не получается переключиться на страницу", sSheetName);
               excel_detach();
               return -1;
       }

       string filename;

       filename = "h:\\1_" + sSheetName + ".csv";
       ires = shell_func("file", "is_exist", filename, bexist);
       if (bexist)
       {
               cout << "Удаляем файл " << filename << "\n";
               ires = shell_func("file", "delete", filename);
       }
       ires = excel_request("save_active_sheet_as_csv", filename);
       return ires;
}