Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти

 
Расширенный поиск

800777 Сообщений в 11253 Тем- от 88233 Пользователей - Последний пользователь: elait

13 Ноябрь 2019, 07:38:09
ADSL.Kirov.RuСообществаПрограммирование (Модератор: Ivanidze)Тема: РЕШЕНО! определить какой MS Office
Страниц: 1 [2]  Все   Вниз
Печать
Автор Тема: РЕШЕНО! определить какой MS Office  (Прочитано 1004 раз)
zulus
Ветеран
*****
Пол: Мужской
Сообщений: 3085



« Ответ #15 : 29 Март 2013, 13:08:52 »

ХА!
я - идиот!!!!
Blackman, Shire, я вас не слышал в упор!!!!
оказывается, самый первый мой попытк был правильным, вернее сказать, верный!!!:
вот
Код:
  try
  {
   vVarApp=CreateOleObject("Excel.Application");
   Label1->Caption = vVarApp.OlePropertyGet("Version");
  }
  catch(...)
  {
   MessageBox(0, "Ошибка открытия","Ошибка", MB_OK);
  return;
  }
всё, всем спасибо! эээх! сегодня ж ПЯТНИЦА!

вот кусок для определения конкретной версии:
Код:
case 14:
        officeVersion = "2010";
        break;
сase 12:
officeVersion = "2007";
break;
case 11:
officeVersion = "2003";
break;
case 10:
officeVersion = "XP";
break;
case 9:
officeVersion = "2000";
break;
case 8:
officeVersion = "97";
break;
case 7:
officeVersion = "95";
break;
default:
officeVersion = "Not Found";
        break;
« Последнее редактирование: 29 Март 2013, 13:31:46 от zulus » Записан

Когда варишь людей в кипятке - первое время их можно не помешивать.Они делают это сами.
Shire
Ветеран
*****
Пол: Мужской
Сообщений: 1015



« Ответ #16 : 29 Март 2013, 13:36:40 »

узнать ... это будет нечто типа:
Код:
ххх = Excel.OleProcedure("Version");
или я не прав?
Не прав. Version - свойство, следовательно, должно быть как-то так:
Код:
Excel.OlePropertyGet("Version");
Вообще я б порекомендовал использовать более дружелюбные и прямые средства, нежели деБилдер, например, директиву #import в Visual C++, либо interop в C#.
Записан
zulus
Ветеран
*****
Пол: Мужской
Сообщений: 3085



« Ответ #17 : 29 Март 2013, 13:54:05 »

Не прав. Version - свойство, следовательно, должно быть как-то так:
Код:
Excel.OlePropertyGet("Version");
Вообще я б порекомендовал использовать более дружелюбные и прямые средства, нежели деБилдер, например, директиву #import в Visual C++, либо interop в C#.
Спасибо
я уже раскланялся чуть выше.
по поводу дибилдера... кхм.. спорить не буду, но остановлю лишь встречным вопросом:
как ты думаешь, почему я полез узнавать какой офис, почему намекнул про права доступа к реестру...?
у меня как в том анекдоте - жри чо дают )))
так что вот так что.
Записан

Когда варишь людей в кипятке - первое время их можно не помешивать.Они делают это сами.
Страниц: 1 [2]  Все   Вверх
Печать
ADSL.Kirov.RuСообществаПрограммирование (Модератор: Ivanidze)Тема: РЕШЕНО! определить какой MS Office
Перейти в: