Привет, All
Не работает код примера
http://www.rsdn.ru/article/default.asp?vcpp/import.xmlАвтор(ы): Игорь Ткачёв
Дата: 9.03.2001
В данной статье приводится объяснение работы директивы #import
компилятора Visual C++ и даны примеры её использования с
MS Word, MS Excel, ADO DB и ActiveX Control.
c MS Office XP Rus.
Делаю так:
// Office.h
// for MS Office XP
#import "C:\Program Files\Common Files\Microsoft Shared\Office10\mso.dll"
#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
#import "C:\Program Files\Microsoft Office\Office10\XL5en32.OLB" \
rename("DialogBox","_DialogBox") \
rename("RGB","_RGB") \
exclude("IFont","IPicture")
// Exempl.cpp
#include "stdafx.h"
#include <stdio.h>
#include "office.h"
void main()
{
::CoInitialize(NULL);
try {
using namespace Excel;
ApplicationPtr excel(L"Excel.Application");
excel->Visible = true;
// создаём новую книгу
WorkbookPtr book = excel->Workbooks->Add(); // здесь ошибка
…
} catch (_com_error& er) {
// обработка исключений
…
}
::CoUninitialize();
}
Не хочет компилироваться строка WorkbookPtr book = excel->Workbooks->Add()
В *.tlh видно, что Workbooks теперь не свойство как в MS Office 97 или 2000, а метод.
_variant_t Workbooks(const _variant_t & Index=vtMissing)
excel->Workbooks() компилируеся, но при выполнении вылетает с исключением.
Вообщем, никак не пойму как создать новую книгу. Кто делал, подскажите pls.
C 97м все работает, проверял.