Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
UFO665
2 / 2 / 1
Регистрация: 24.03.2010
Сообщений: 121
1

Не работает с Excel 2003, работает с Excel 2007

15.04.2010, 20:20. Просмотров 2099. Ответов 3
Метки нет (Все метки)

Visual Studio 2008 SP1, проект MFC.
В файле stdafx.h прописываю следующее для работы с Excel (тестировал в Excel 2007).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE12\\MSO.DLL" \
    rename("RGB","ex_RGB")
using namespace Office;
 
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"
using namespace VBIDE;
 
#import "C:\\Program Files\\Microsoft Office\\OFFICE12\\EXCEL.EXE" \
    rename("RGB","ex_RGB") \
    exclude("I","IPicture") \
    exclude("I","IFont") \
    rename("DialogBox","ex_DialogBox") \
    rename("CopyFile","ex_DialogBox") \
    rename("ReplaceText","ex_ReplaceText")
using namespace Excel;
Программа работает с ячейками Экселя и рисует прямоугольники. Файл сохраняется как *.xls. На компах с Excel 2007 работает без проблем. На компе заказчика установлен Excel 2003. Прога на нем запускается, но при попытке сохранить экселевский файл, выдает ошибку: "The application has requested the Runtime to terminate it in unusual way." При попытке открыть экселевский файл выдает что-то вроде "файл имеет неизвестный формат или поврежден" и предлагает на выбор 3 варианта, в том числе и открыть. Открыть не удается. Папка OFFICE12 на компе заказчика есть, а вот VBA6 не посмотрел. Подскажите в чем может быть причина.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2010, 20:20
Ответы с готовыми решениями:

Работа с excel: 11 версия не работает с 2010 офисом, но работает с 2007, 2013
Имеются несколько Microsoft.Office.Interop.Excel.dll,которые используются для записи в excel...

Excel 2007 - стандартное меню в стиле Excel 2000 (2003, XP)
Для тех, кто столкнулся с 2007-м Office... Предлагается на рассмотрение VBA код, который создает в...

Ошибки сохранения форматирования из Excel 2007 v Excel 2003
Как востановить форматы ячеек при сохранении в Excel 2007 на формат Excel 2003, Проблема следующая:...

Не работает вставка в Excel 2003
Проблема со вставкой Открыл как то документ (его имя есть на скрине), после этого перестала...

Не работает формула в excel 2010 и 2007
Всем привет! Не работает формула в excel 2010 и 2007. Но она работает в 2013. Как быть? Пишет...

3
klikks
5 / 5 / 0
Регистрация: 19.12.2009
Сообщений: 34
15.04.2010, 20:22 2
Ты сохрани в формате универсальном. У тя похоже в более новом формате. Т.е. 2003-й не воспринимает никак. Увы.
0
UFO665
2 / 2 / 1
Регистрация: 24.03.2010
Сообщений: 121
16.04.2010, 18:57  [ТС] 3
klikks, а как в универсальном?
сохраняю так: sheet->SaveAs(<имя файла>.xls).

Мне кажется надо как-нибудь условие сделать в stdafx. Если на компе установлен 2007 офис, то импортировать для 2007, если 2003, то для него. Тогда должно работать по идее. Как это реализовать - не знаю пока.
0
UFO665
2 / 2 / 1
Регистрация: 24.03.2010
Сообщений: 121
18.04.2010, 13:31  [ТС] 4
Можно ли сделать так:
C++
1
2
3
4
5
6
7
CFileFind file;
if(file.FindFile("C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE12\\MSO.DLL"))
{
    #import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE12\\MSO.DLL" \
            rename("RGB","ex_RGB")
    using namespace Office;
}
?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2010, 13:31

Конвертация rtf в excel 2003----2007
Всем привет при перевороте документа немогу работать с цифрами

ошибки с работой 2003-2007 excel
На компе стоят оба экселя (2003 и 2007). Переустановили эксель 2003, поскольку он жаловался на...

Быстродействие макроса работы с УФ Excel 2003 vs 2007
Всем привет. Новичок на этом форуме. Господа, столкнулся с проблемой. Помогите, пожалуйста. Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru