Excel
Народ!!! Подскажите как создать докуметн Excel с на VisualС++ 6.0. Пытаюсь импортировать библиотечки с помощью #import - нифига не работает. Может кто сталкивался???
Вот методом научного тыка удалолсь накодить
if(!app.CreateDispatch("Excel.Application"))
AfxMessageBox("error");
Workbooks wbs;
wbs=app.GetWorkbooks();
COleVariant covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR) ;
wbs.Add(covOptional);
_Workbook wb;
wb=wbs.GetItem(COleVariant((long)1));
Range ran;
_Worksheet ws;
Worksheets wss;
wss=app.GetWorksheets();
ws=wss.GetItem(COleVariant((long)1));
ran=ws.GetRange(COleVariant((CString)"B2"),COleVariant((CString)"B2"));
ran.SetValue(COleVariant((CString)"1.1"));//SetItem(COleVariant((CString)"A1"),COleVariant((CString)"A1"),COleVariant((CString)"1.1"));
//wb.Save();
//ws.SaveAs( "c:\\1.xls",COleVariant((short)0),COleVariant(" "), COleVariant(" "),COleVariant((short)TRUE),COleVariant((short)TRUE),COleVariant((short)TRUE), COleVariant((short)0),COleVariant((short)0));
// COleVariant var;*/
//app.SetVisible(TRUE);
//wb.SaveAs(COleVariant("1.xls"),COleVariant((short)0),COleVariant(""), COleVariant(""),COleVariant((short)FALSE),COleVariant((short)FALSE), (long)0,COleVariant((short)TRUE),COleVariant((short)TRUE), COleVariant(""),COleVariant(""));
//app.SaveWorkspace(COleVariant((CString)"C:\\m1.xls"));
//ws.SaveCopyAs(COleVariant("C:\\1.xls"));*/
Единственная пролема с сохранием пробовал разные варианты в большинстве не догоню чего нужно передавать через VARIANT
Вот и у меня та же проблема была. Решил дедовским способом, нашел dll - ку для работы с Excel - милое дело, правда интересно было бы узнать, как все же это реализовано:((
Народ!!! Подскажите как создать докуметн Excel с на VisualС++ 6.0. Пытаюсь импортировать библиотечки с помощью #import - нифига не работает. Может кто сталкивался???
Чувак в чем проблемы с #import, давай зазберем все прекрасно работает.
Вот и у меня та же проблема была. Решил дедовским способом, нашел dll - ку для работы с Excel - милое дело, правда интересно было бы узнать, как все же это реализовано
Если с import заработает все прекрасно увидишь как реализовано(все интерфейсы,методы и т.п.)
Чувак в чем проблемы с #import, давай зазберем все прекрасно работает.
Вот и у меня та же проблема была. Решил дедовским способом, нашел dll - ку для работы с Excel - милое дело, правда интересно было бы узнать, как все же это реализовано
Если с import заработает все прекрасно увидишь как реализовано(все интерфейсы,методы и т.п.)
Уже разобрал!!! Помогло следующее лекарство: снес Visual Studio и поставил заново... В чем была фишка, ума не приложу.
Уже разобрал!!! Помогло следующее лекарство: снес Visual Studio и поставил заново... В чем была фишка, ума не приложу.
Любопытно в чем же проблема была. Я тоже пробовал через #import на VS 6.0 код загнал такой же как в статье на этом сайте "Использование директивы #import в Visual C++". Но при компилляции выдается ошибка причем все ссылается на файлы tli созданные компиллятором но там столько всего что разбираться не один час придется в общем я плюнул и забил.
Любопытно в чем же проблема была. Я тоже пробовал через #import на VS 6.0 код загнал такой же как в статье на этом сайте "Использование директивы #import в Visual C++". Но при компилляции выдается ошибка причем все ссылается на файлы tli созданные компиллятором но там столько всего что разбираться не один час придется в общем я плюнул и забил.
Ну во-первых нужно было просто обратить внимание на версию Office, и соответственно все правильно отобразить в файлике office.h, если не помогло, то грохнуть каталог (Debug, Release - у кого что). Должно работать!!!
А *.tli, *.tlh файлы создаются в процессе компиляции, в них включаются все офисовские приблуды (интерфейсы, методы и п.т.). Вот и все.
Ну во-первых нужно было просто обратить внимание на версию Office, и соответственно все правильно отобразить в файлике office.h, если не помогло, то грохнуть каталог (Debug, Release - у кого что). Должно работать!!!
А *.tli, *.tlh файлы создаются в процессе компиляции, в них включаются все офисовские приблуды (интерфейсы, методы и п.т.). Вот и все.
С Версией Office все нормально у меня 2000 и соответственно я подключил соответствующие файлы
после компилляции когда появились ошибки в файлах tli я удалил весь каталог Debug и после повторной компилляции ошибки появились опять
С Версией Office все нормально у меня 2000 и соответственно я подключил соответствующие файлы
после компилляции когда появились ошибки в файлах tli я удалил весь каталог Debug и после повторной компилляции ошибки появились опять
Не могу понять чего там у вас не так? Попробуй мое приложение скомпилировать и запустить(WinApi). Если под MFC пишешь то переделаешь(функция для работы с Excel не изменится).
P.S. Вложение файл excel2000.zip
Не могу понять чего там у вас не так? Попробуй мое приложение скомпилировать и запустить(WinApi). Если под MFC пишешь то переделаешь(функция для работы с Excel не изменится).
Огромнейшее программЁрское ШПАШИБО!!!! Очень помогло!
Не могу понять чего там у вас не так? Попробуй мое приложение скомпилировать и запустить(WinApi). Если под MFC пишешь то переделаешь(функция для работы с Excel не изменится).
Да все работает. Я когда прогу делал код в Office.h вставлял без изменений но если взять только файлы необходимые для Exel то все нормально вероятно возникает какой-то конфликт имен.
Что нужно изменить, чтобы можно было его использовать в VC++???? :)
У меня проблема с использованием Office 2003.
Что нужно изменить, чтобы можно было его использовать в VC++???? :)
Возможные варианты:
1. Посмотри файлик office.h Настрой пути к dll, и все остальное.
2. Я компилировал проект под Office 97, потом запускал его на машинах с установленным Office XP и все пахало без проблем. С Office 2003 не пробовал. Если данное лекарство не поможет тогда см. пункт 1(по-моему только так)
Интересно как сохранить документ. Если вызвать Excel->save() то функция выведет диалоговое окно для сохранения, если в документ были записаны данные. Если пользователь в этом окне нажмет кнопку Отмена будет исключение. Причем данные так и останутся в оперативной памяти и при завершении работы операционной системы появится диалоговое окно сохранить данные.
Попробуй saveas (если под определенным именем и до этого документ заново создан, а иначе - просто save)
Попробуй saveas (если под определенным именем и до этого документ заново создан, а иначе - просто save)
А как параметры передавать а то с энтим VARIANT ничего не понимаю.
А как параметры передавать а то с энтим VARIANT ничего не понимаю.
Вот моя программа консольная на чистом WinAPI (все вспомогательные функции сам писал). Там SaveAs вызывается (одна из моих сем по нейросетям).