Привет, 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м все работает, проверял.
Здравствуйте kirsav, Вы писали:
K>Привет, All
K>Не работает код примера 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.
K>Делаю так:
K>// Office.h
K>// for MS Office XP
K>#import "C:\Program Files\Common Files\Microsoft Shared\Office10\mso.dll"
K>#import "C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB"
K>#import "C:\Program Files\Microsoft Office\Office10\XL5en32.OLB" \
K> rename("DialogBox","_DialogBox") \
K> rename("RGB","_RGB") \
K> exclude("IFont","IPicture")
K>// Exempl.cpp
K>#include "stdafx.h"
K>#include <stdio.h>
K>#include "office.h"
K>void main()
K>{
K> ::CoInitialize(NULL);
K> try {
K> using namespace Excel;
K> ApplicationPtr excel(L"Excel.Application");
K> excel->Visible = true;
K>
K> // создаём новую книгу
K> WorkbookPtr book = excel->Workbooks->Add(); // здесь ошибка
K>…
K>} catch (_com_error& er) {
K>// обработка исключений
K>…
K>}
K>::CoUninitialize();
K>}
K>Не хочет компилироваться строка WorkbookPtr book = excel->Workbooks->Add()
K>В *.tlh видно, что Workbooks теперь не свойство как в MS Office 97 или 2000, а метод.
K>_variant_t Workbooks(const _variant_t & Index=vtMissing)
excel->>Workbooks() компилируеся, но при выполнении вылетает с исключением.
K>Вообщем, никак не пойму как создать новую книгу. Кто делал, подскажите pls.
K>C 97м все работает, проверял.
У меня excel->Workbooks->Add(); и компилируется и работает. Дело, скорее всего, в импорте, я его делаю так:
#import "C:\Program Files\Microsoft Office\Office10\EXCEL.EXE" \
rename("DialogBox","_DialogBox") \
rename("RGB","_RGB") \
exclude("IFont","IPicture")