Russian Qt Forum

Qt => ActiveX => Тема начата: YvenTitan от Сентябрь 17, 2019, 18:04



Название: Открытие файлов с одинаковым именем, но находящиеся в разных папках
Отправлено: YvenTitan от Сентябрь 17, 2019, 18:04
Здравствуйте
Мне нужно открыть два файла Excel, чтобы скопировать из одного в другой некоторые ячейки. Если файлы с разным именем, то все нормально, а если файлы находятся в разных папках и имеют одинаковое имя, то второй файл не открывается.
Код:
QAxObject *excel = new QAxObject("Excel.Application",this);
    if(excel == nullptr){
        qDebug("You need to install Microsoft Excel");
        return;
    }
    QAxObject *workbooks = excel->querySubObject("Workbooks");
    QAxObject *workbook1 = workbooks->querySubObject("Open(const QString&)","D:\\Current\\1.xlsx");
    QAxObject *sheets1 = workbook1->querySubObject("Worksheets");
    QAxObject *sheet1 = sheets1->querySubObject("Item(const QVariant&)",1);

    QAxObject *workbook2 = workbooks->querySubObject("Open(const QString&)","D:\\Русская папка\\1.xlsx");

И в итоге в workbook2 получаю nullptr.

Можете подсказать это нормально? Можно что-то сделать, чтобы в данном случае файлы с одинаковым именем открывались?
Буду благодарен, если подскажите, как получить код ошибки, из-за которой не открывается файл.


Название: Re: Открытие файлов с одинаковым именем, но находящиеся в разных папках
Отправлено: Old от Сентябрь 17, 2019, 18:21
А в самом excel можно открыть два файла с одинаковыми именами из разных директорий?


Название: Re: Открытие файлов с одинаковым именем, но находящиеся в разных папках
Отправлено: Day от Сентябрь 18, 2019, 08:58
Насколько я знаю, Qt не очень жалует кириллицу в путях.
Попробуй второй файл поместить в папку на латыни и повтори эксперимент.
Ну и догадку уважаемого Old проверь


Название: Re: Открытие файлов с одинаковым именем, но находящиеся в разных папках
Отправлено: YvenTitan от Сентябрь 18, 2019, 09:21
Если латиницей, то прокатывает, но файлы могут называться и на русском.
А в самом excel можно открыть два файла с одинаковыми именами из разных директорий?
Вы правы, нельзя!